7

私は教科書からARMプロセッサを勉強しています...

学んだことを ARM シミュレーターに適用できれば、もっと便利だと思いました...コードを書いて、結果やさまざまな実行段階を見るのはもっと楽しいでしょう...

検索しましたが、Linux のフリーウェアか Windows のデモしか見つかりませんでした。

Windows 上で実行される ARM プロセッサ (任意のバージョン!) の実行ステップとさまざまな変更を確認できるシミュレータはありますか??

ありがとう

4

7 に答える 7

4

QEMU

おそらく、Windows 用の実験的なバイナリ インストーラーについて言及していたのでしょう。Windows でのソース インストールについては、このドキュメントを参照してください。

于 2010-06-01T20:31:21.827 に答える
2

この質問から長い時間が経ちました。Cに精通している人向けの回答を書くことはまだ良いと思います.これは、いくつかの/次のARMアセンブリ命令をエミュレートする小さなCアプリケーションであり、デバッグを追加したり、実行段階を確認するポイントで結果を出力したりできます.

  1. パイプライン: サイズ 4
  2. メモリの場所を予約します。割り込み命令とユーザー命令。
  3. 各命令のサイクル数と合計サイクル数をカウントします。
  4. データ処理命令: オーバーフロー フラグとキャリー フラグを設定します。
  5. 分岐命令: 必要に応じてスタックを使用してリンク データを格納します。
  6. データ転送命令。
  7. 割り込み命令: 新しい命令をフェッチする前に、入力命令セットの割り込み命令を実行するか、ハードウェア命令を受け入れます。
  8. レジスタ、ユーザー アクセス可能なメモリ、スタック メモリ、およびステータス フラグを出力します。「debugEnabled」変数と「instructionLogEnabled」変数をオンにすると、出力の詳細情報を取得できます。

ソースコードはこちらから入手できます: http://www.omidmufeed.com/arm-assemblyr-emulator-with-c/

于 2014-09-15T11:21:54.097 に答える
2

Qemuは Windows をサポートし、ARM 用のファースト クラスのエミュレーターです。もちろん、正確なパイプラインの状態は利用できませんが、エミュレーションのプログラマのビューは利用できます。

于 2010-06-01T20:33:04.240 に答える
2

ARM エミュレータである armulator は、多くの場所 (gdb ソースなど) でソース形式で入手できます。qemu はうまく機能しますが、「コードを見る」のは難しいでしょう。最善の方法は、アーム コア用の hdl ソース (verilog など) を用意し、vcd ファイルまたはその他の波形形式を作成することです。アームが組み込まれたチップ会社で働いていない限り、おそらく見つけることはできません。私は間違っているかもしれませんが、そこにあるすべてのオープンアームコアはARMによってすぐに取り除かれると思います.

マメにはアームコアが1つか2つあります。ビジュアルボーイアドバンスはアームコア付き。ndsエミュレーターにはアームコアがあります。

または、私が Thumulator で行ったことを実行して、独自に作成することもできます。私が見たいものを他の人に見せてもらうよりも簡単だと思いました。もちろん、私は怠け者で、フル アーム エミュレーターではなく、サム命令セット エミュレーターだけを作成しました。時間がかかるだけで全然難しくありません。

編集

さて、私は修正されたままです。ワードアームベリログをググってください。isc.tgz には、icarus verilog (無料) で問題なくコンパイルおよび実行されるアームの動作モデル モデルが含まれています。

すべての $save_store(); をコメントアウトします。行 (C が // を使用するのと同じように)。

testarm.v に数行のコードを追加します (たとえば、arm10 の後、最初の begin の前)。

初期開始 $dumpfile("test.vcd"); $dumpvars(0,arm10); 終わり

常に #50000 $finish;

それから

iverilog -o こんにちは testarm.v arm10.v

vvp こんにちは

50000 単位の時間実行し、sim を終了して vcd ファイルを閉じます。シムを長くまたは短くするには、常に #50000 行を変更します。

vcd ファイルを表示するには、gtkwave (無料) のコピーを入手してください。gtkwave の使用はまったく別の投稿です。test_arm の横にある + 記号をクリックし、そこにある arm10 をクリックし、信号の下で addr_bus をクリックして行を強調表示し、追加ボックスをクリックします。 data_bus をクリックし、append ボタンをクリックして、いくつかのレジスタ、r1、r2 などを追加します。ツールバーがありますが、メニューの time->zoom->zoom full を使用することもできます。これは私のインストールでは ALT-F です。次に、物事をズームインおよびズームアウトする方法を学びます。

個人的な経験から言えば、hdl シミュレーターを使用するよりも「自分のコードを見る」ことはできません。実際、これに慣れると、ほとんど何も見えないシリコン上で実行するのに苦労するかもしれません。

私は、その動作モデルに含まれていたテスト プログラムを実行しただけです。あなたがそれで何ができるか、何ができないかわかりません。

Verilog の $readmemh は非常に単純で、指定されたメモリに 16 進数の行を読み込むだけです。したがって、コンパイルされたアーム コードを使用して、Verilog シミュレーションが必要とする ascii ファイルを作成するツールを簡単に作成できます。

于 2010-06-02T03:07:37.913 に答える
1

アームシム

ARMSim# は、Windows 環境で動作するデスクトップ アプリケーションです。これにより、ユーザーは、ARM7TDMI プロセッサに基づくシステムで ARM アセンブリ言語プログラムの実行をシミュレートできます。

私から:これはシミュレータであり、プロセッサ固有です。つまり、他の人が示唆しているように、QEMUでARM Linuxを実行することは、実際のソリューションをテストするときのより良いオプションです。次のステップはベア ARM メタルで、2015 年には Raspberry PI で安価に実現できます。

于 2015-05-25T08:00:49.367 に答える
1

cpulatorを使用して、Web ブラウザーで ARM アセンブリ コードを実行し、実行手順を確認できます。

于 2021-03-11T09:32:34.697 に答える