を実行している間、私は短いブートコードを書いたとしてQEMUでそれを実行しようとした:QEMUエラー私のブート
のqemu-システムarm.exe -M versatilepb -cpu皮質-A9 -kernel次にboot.bin
私はコードが0x8400000に対処するためにロードされると予想が、QEMUは、エラー0x84000000 これでRAMまたはROM外のコードを実行しようとすると
は通常folloの1を意味し、私を返さ(1)QEMUに間違ったマシンタイプのカーネルを実行させ、起動時にクラッシュした(例えば、versatilepb QEMUマシンでラズベリーパイカーネルを実行しようとした) (2) QEMUにはカーネルやBIOSのファイル名を与え、QEMUは終了時までノーオペレーション命令でいっぱいのROMを実行しました (3)ゲストカーネルにバグがあり、どこにでもジャンプしてクラッシュしました。
これはほとんどの場合、最初の2つのうちの1つですので、コマンドラインを確認し、このマシンに正しいタイプのカーネルを使用していることを確認してください。 オプション(3)が考えられる場合は、-dデバッグオプションを使用してゲストをデバッグできます。特に-d guest_errorsを指定すると、この時点でログにゲストレジスタの状態のダンプが含まれます。
実行を続行できません。ここで停止します。
それが適切な場所
にロードされていないので、だから私は、私はおよそ間違っている何私のコードがまだ動作して開始されていないと思いますか?
おかげ
余分な0について - 私の間違いは、私は0x84000000を意味します。 –
ELFファイルをロードする場所が0x84000000の場合、QEMUの動作は正しい - そのアドレスにはRAMは存在しません。バイナリをビルドして、ボードにRAMがない場所ではなくRAMがある場所にロードする必要があります。 –