skyeye armハードウェア仮想マシン環境の構築

3383 ワード

skyeye armハードウェア仮想マシン環境の構築
一、構築の主なステップ
1、skyeyeyeインストールskyeyeはarmハードウェアをシミュレートするためのものであり、コードが最終的に実行される環境である.
2、armクロスコンパイルツールのインストールarm-linux-gccまたはarm-elf-gccクロスコンパイルは、コンピュータ上でコンパイルされたプログラムが、特定のarm環境で実行できるようにするためです.
二、実戦
1、ハードウェアシミュレータ:skyeyeのインストール
tar xjvf skyeye-1.2.6_rc1.tag.bz2
cd skyeye-1.2.6_rc1
./configure
make
make install

順調で、問題にぶつからなかった.
2、armクロスコンパイルツールのインストールコンパイルしたarm-linux-gcc-3.4.1.tar.bz 2を直接ダウンロードし、ルートディレクトリで解凍する
cd /
tar –jxvf arm-linux-gcc-3.4.1.tar.bz2

環境変数の追加
vim /etc/profile
      pathmunge /usr/local/arm/3.4.1/bin   //       
source /etc/profile   //       
arm-linux-gcc –v        //        

エラー:bash:/usr/local/arm/3.4.1/bin/arm-linux-gcc:/lib/ld-linux.so.2:bad ELF interpreter:no such file or directory yum install ld-linux.so.2(参考[2])インストール時にyumソースに問題が発生し、他のシステムのyumのファイル/etc/yum*をコピーします.
三、テスト
実行中のプログラムhello.binとハードウェアのプロファイルskyeye.conf 1、hello.binの生成の2つのファイルを新規作成
cd /tmp
mkdir test
cd test
vim hello.c

##以下hello.c#define UFCON 0((volatile unsigned int*)(0 x 50000000))void hello(void){const char*p="helloworld";while(*p){*UFCON 0=*p+;}while(1);}
コンパイル、hello.binファイルの生成:
arm-linux-gcc -O2 -c hello.c
arm-linux-ld -e hello -Ttext 0x0 hello.o -o hello
arm-linux-objcopy -O binary hello hello.bin

2、armハードウェア環境の構成ここではアナログのs 3 c 2410 xというチップ
vim skyeye.conf

##以下skyeye.confの内容cpu:arm 920 t mach:s 3 c 2410 x
#physical memory mem_bank:map=M, type=RW, addr=0x30000000, size=0x00800000, file=./hello.bin, boot=yes
#all peripherals I/O mapping area mem_bank: map=I, type=RW, addr=0x48000000, size=0x20000000
実行:
skyeye

helloworldが表示され、実行に成功したことを証明します.
四、参考:
[1]skyeyeからarmを学ぶhttp://blog.csdn.net/feixiaoxing/article/details/18180119 [2]linuxインストールソフトウェアの解決:/lib/ld-linux.so.2:bad ELF interpreter問題http://www.111cn.net/sys/linux/55374.htm [3]『一歩一歩組み込み型オペレーティングシステムを書く』——李無言