■ TLMu で ARM Linux
http://www.hdlab.co.jp/web/a050consulting/b009armcpumodel/ から環境をダウンロードして動かしてみた。
環境は、Ubuntu 12.04
- systemc-2.2.0.tgz
- TLM-2.0.1.tgz
- scml-2.1.1-pv-20111213.tgz
を利用し、tlmu_arm_example/INSTALL に従ってインストールを行う。
ただし、途中 g++ のコンパイルで mutable のエラーに何度かあうので -fpermissive を付けた。
tlmu.20120529/Makefile.target で、--whole-archive オプションがあるとエラーになるので外した。
tlmu_arm_example で、LIBS に pthread を追加。また、ライブラリの順序を変えないとコンパイルが通らなかった。また、hdlab_lib/ip/versatile_vic.c cpp で、uint32_t が未定義だと言われたので、typedef unsigned int uint32_t; を追加。
無事コンパイルが通り、./run.x を実行すると xterm が立ち上がり linux が起動できた。
追記1:buildroot により作成されるルートファイルシステムには、/lib 以下が空になっているので、共有ライブラリを参照しているプログラムは動かない(busybox 以外のプログラムは基本的に動かない)。buildroot/output/toolchain/uClibc-<version>/lib/*.so* を /lib にコピーする必要がある。
追記2:起動した Linux でファイルを作成しても、Linux を起動し直すと作成したファイルは消えてしまっている。シミュレーション開始時に ramdisk.img をメモリ上に読み込んでいるが、シミュレーションした結果をもとの ramdisk.img に書き戻していないためである。
0 件のコメント:
コメントを投稿