ARMおよびPowerPC用アセンブラでプログラミングを学ぶためのQEMU良いのですか?
質問
私はPowerPCとARM用アセンブラでプログラミングを勉強したいが、私は、この目的のために、実際のハードウェアを購入することができませんでしだ。私はそのためにQEMUを使って考えています。それは十分にうまく両方のアーキテクチャをエミュレートしている場合しかし、私は私がそれ?
のネイティブアセンブラで私のプログラムをコンパイルして実行されますことを、わからないんだけど解決
QEMUはの修正の(つまり、コードが適切に実際のARMまたはPowerPC上で実行するかどうか)プログラムのテストに適していますが、それはプログラムをテストするために良いではありません。の効率の:エミュレーションは、真のハードウェアの速度と相関サイクル正確ではなく、QEMUで測定速度が確実に(あるいは信頼できない)ことができない。
また、QEMUは、PowerPCエミュレーションのための問題ではない(PowerPCのは、アラインされていないアクセスを許容する)が、アドレスからRAM内の32ビット・ワードを読み出すARM(アラインされていないアクセス、例えばためのものであってもよいしないトラップアラインされていないメモリアクセス、意志4の倍数でないある)QEMUと罰金を動作しますが、真のARMプロセッサで例外をトリガする。
別にこれらの点から、QEMUは、ARMやMIPS(私はそのためにeBayで古いiBookのを見つけたので、PowerPCのを試していないの組立開発のための罰金です。私はQEMUで組み立てARMやMIPSをした後、走ってきました)真のハードウェア上のコードを、その結果、これが働いていました。あなたは、どちらかのシステム全体をエミュレートし、その中にはDebianを実行することができます(その場合には、コンパイラ、リンカ、テキストエディタ...もエミュレーションで実行されます)、またはARM / MIPS実行ファイルが実行され、「ユーザー・モード・エミュレーション」を使用直接、ホストPC用のものにシステムコールを変換ラッパーと(これはホストがLinuxを実行しているPCであることを前提として)。後者は、(あなたが...プログラミングツールはネイティブです、あなたの通常のホームディレクトリへのアクセス権を持っている)方が便利ですが、クロス開発ツールをインストールする必要があります。 buildroot をそのために(と-static
とのリンク、これは多くの頭痛を回避します)。
他のヒント
私はDebianののPowerPC のためと のはQEMU上で実行することができ、ARM、私はこれが問題になることはありませんと仮定します。