2016-05-04 13 views
2

私はqemuの-kernelオプションでロードできるファイルの作成に取り組んでいます。私はここでは、U-boot configファイルのどこかにファイルのどこかに情報を置かなければならないことに気付いています。そのファイルには、u-bootバイナリ、freebsdカーネル、および実行するRTOSが含まれていなければなりません(つまり、ロードするカーネルを選択するか、2つのOSを同時にロードする実験的な開発を行うことができます。例えばFreeBSDはu-bootとFreeBSDによって読み込まれます第2コアにFreeRTOSをロードする - いわゆるASMP)。自動的な方法でこれを行うためのツールがないようです(複数のカーネルを1つのフラッシュファイルでサポートすることを意味します)。だから私は自分自身を作り、それをqemuに渡してversatilepbをエミュレートするためにu-bootフラッシュファイルがどのように構造化されているのかを知る必要があります。u-bootフラッシュファイルの構造は何ですか? (ARM汎用のpb)

qemu-system-arm -M versatilepb -m 128M -nographic -kernel myflashfile 

答えて

1

ここでの回答は、QEMUでエミュレートしているボードによって部分的に異なります。次に残念なことに、versatilepbは以前のメインラインのU-Bootから削除されています(ARM926EJSではASMPにとって理想的なコアではありませんが、代わりにa9を使ってみてください)。さて、すべてのことが言った - あなたがバイナリファイルを渡すために - フラッシュは、あなたがマシンで使用されているパラレルフラッシュデバイスの内容を制御することを望みます。しかし、あなたはまだマシンをブートするために-kernel u-boot.binを使用しているので好きです。しかし、-tftp/some/dirを使い、ネットワーク経由でファイルをロードするほうが簡単です。

+0

最新版のこのボードをサポートしていないQEMUについて知りました。あなたはASMPを実装するためのより良いpropetiesを持っているか、またはARM926EJSには機能が不足していますか?私はネットワークを使うことができることを知っていますが、質問には関係ありません。私は言及された2つのことの間にあなたが文で意味するものを得ません - a9とネットワーク。 – csstudent

+1

@csstudent Tomが意味することは、エミュレートされたディスク/フラッシュ/どのようなストレージにでも接続するためにイメージにパックするのではなく、ホストマシン上でTFTPサーバーを実行し、エミュレートされたネットワークインターフェイス経由で直接ファイルを転送することが、デバイス。第2に、2つのOSを同時に実行しようとしているのであれば、本質的にユニプロセッサーのマシンはおそらく最良の選択肢ではないでしょう - Versatile PB/ARM9の欠如している特定の機能は多種のマルチプロセッシングです; – Notlikethat

関連する問題