skyeye arm 硬件虚拟机环境的搭建

skyeye arm 硬件虚拟机环境的搭建

一、搭建的主要步骤

1、skyeye安装
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.bz2,在根目录里解压

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的生成

cd /tmp
mkdir test
cd test
vim hello.c

##以下为hello.c
#define UFCON0 ((volatile unsigned int *)(0x50000020))
void hello(void){
const char *p=”helloworld\n”;
while(*p){
*UFCON0=*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硬件环境
这里是模拟的s3c2410x这款芯片

扫描二维码关注公众号,回复: 1750476 查看本文章
vim skyeye.conf

##以下为skyeye.conf的内容
cpu: arm920t
mach: s3c2410x

#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] 《一步步写嵌入式操作系统》——李无言

猜你喜欢

转载自blog.csdn.net/thalo1204/article/details/48929779
今日推荐