問題タブ [riscv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
riscv - プロセスの再構築中にriscv-gnu-toolchainが毎回ダウンロードする
こんにちは、RISCV に命令を追加しようとしています。binutils でファイルを編集して gnu-toolchain のアセンブラを変更しようとするたびに、再構築する必要があることを理解しています。しかし、常に build.sh スクリプトを実行する必要がありますか? それを行うたびに、すでに一度ダウンロードしたデータがダウンロードされているのが見えるからです。ダウンロードが必要ない場合、再構築するために実際に実行するコマンドは何ですか? ありがとう。
riscv - RocketChip レジスタの拡張
RocketChip で利用可能なレジスタ セットを拡張することは可能ですか? もしそうなら、どうすればいいですか?既存の RISCV レジスタから拡張レジスタ セットにデータを移動できる新しい命令を追加しようとしています。
riscv - risc ISA(spike) でレジスタを拡張しようとしましたが、seg-fault が発生しました
スクリーンショットに示すように、次のファイルでスパイク isa シミュレーターに変更を加えることで、スパイク isa シミュレーターの既存のレジスタ セットを拡張しようとしました。
これに続いて、riscv.hに変更を加えました
また、ファイル tc-riscv.c のレジスタ構造の長さを増やし、NGPR の値を変更しました。
これに続いて、ソースレジスタから宛先レジスタにデータを移動し、宛先レジスタの値を出力する独自の asm コードを作成しました。コード スニペットを以下に添付します。
この asm コードを次のコマンドでコンパイルしました riscv64-unknown-elf-gcc -o asm_test asm_test.s
このコードを実行すると、次のセグメンテーション違反が発生しました
ここで間違った方向に進んでいる場合は、親切に助けてください。
linux - 「qemu-system-riscv: コマンドが見つかりません」
http://riscv.org/getting-started.html#qemuの指示に従って QEMU をインストールしようとしているときに、次のコマンドを実行すると **"qemu-system-riscv: command not found"** エラーが表示されます。 qemu-system-riscv -hda [root.bin の場所] -kernel [vmlinux の場所] -nographic
riscv-softmmu ディレクトリを確認すると、qemu-system-riscv がディレクトリにあります。
riscv - カスタム asm ニーモニックが現在の riscv-gnu-toolchain で認識されない
たとえば、次のアセンブラ ステートメントはオペコードに変換する必要があります。0x0000000b
古いバージョンの riscv-gnu-toolchain (6 月 4 日にビルド) では、これをアセンブルするのに -march= オプションは必要ありませんでした。ただし、今日のriscv-toolsの git head を使用すると、次のようになります。
ソースコードを読んで、アーチXcustom
をツールに渡すとそれが修正されるはずだと思いますが、
(現時点では、このため、PicoRV32 テスト ファームウェアは最新の riscv-gnu-toolchain でビルドされません。 )
編集: 私のために働く riscv-tools の最後のバージョンは、8 月 20 日のコミット 84a47e0b4e です。そのバージョンでは、-march=
オプションの有無にかかわらず、custom0 オペコードが認識されます。
scala - zed ボードでの dummy_rocc_test の実行
dummy_rocc_test は、custom0 命令を使用してスパイクで正常に実行されますが、それを zed ボードに配置して実行すると./fesvr-zynq pk dummy_rocc_test
、不正な命令のエラーが発生します。
これは、rocc io がロケット チップのデフォルト構成に含まれていないためだと理解していますが、zed ボードで dummy_roc_test を実行するために RoCC インターフェイスを有効にする方法を知りたいです。スニペットに示すように、以下にリストされた値を「BuildRoCC」に与えてみました
しかし、ロケットの作成中に、次のエラーが発生します。
configs.scala コードは次のとおりです。
実際のアキュムレータの例が示されている Rocc.scala は次のとおりです。