配置虚拟嵌入式环境

来源:互联网 发布:sql server 2016 sn 编辑:程序博客网 时间:2024/05/16 23:39

早就饱受没有开发板之苦而没有涉入这个领域,偶然间发现了skyeye这个开源项目,了解了下可以模拟嵌入式开发环境。他可以模拟多种主流嵌入式处理器 ARM7, ARM9, ARM10 等,与uclinux 就可以拥有一个交叉编译的环境。

 

查了下资料,转载一位老兄的帖子。

 

 

一、uClinux编译环境的配置和编译

1、下载arm-elf-toolsuClinux

 

http://www.uclinux.org/pub/uClinux/arm-elf-tools/arm-elf-tools-20030314.sh

 

http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20030305.tar.gz

 

2、安装

1)先切换到root

     sudo -s -H

 

2)安装arm-elf-tools

export _POSIX2_VERSION=199209

 


sudo cp arm-elf-tools-20030314.sh /  须要是根目录,我安装的这步发生了错误,用了下面这条命令。

 

sudo tail -n +'43' arm-elf-tools-20030314.sh | gunzip | tar xvf -

 

 

3uClinux配置并编译:

更新软件包信息:

 

apt-get update

 

安装一些必备软件包:

 

apt-get install ncurses-dev

 

apt-get install tcl

 

apt-get install tk

 

解压 uClinux

 

tar zxvf  uClinux-dist-20030305.tar.gz

 

切换到uClinux的解压目录,运行下以下命令之一进行配置:

 

make menuconfig  make xconfig

 

编译:

make dep

make

make image

images目录下生成romfs.img,linux.data,

说明:

apt-get update 为可选命令,作用是更新软件包信息,如果执行apt-get install命令出错,那必须先执行这个命令。

ncurses make menuconfig 时所需的安装包

tcl tk make xconfig所需的安装包

make menuconfig make xconfig为用菜单方式或图形界面方式配置uClinux,如何配置可以参考网上的其它资料,因为是用skyey仿真,所以只要将Vendor/Product选为GDB/ARMulator,其它的可用默认选项,当然在实际的配置和裁减中还是有许多其它选项要改的。

 

二、skyeye的安装

ubuntu下安装skyeye相当简单,只要执行以下命令:

 

apt-get install skyeye

 

如果出错先执行apt-get update

 

三、用skyeye仿真uClinux

1、先写一个测试程序,保存为hello.c

//---------------------------------hello.c----------------------------------------------------

 

#include <stdio.h>

 

int main(void)

{

    printf("hello,world/n");

    return 0;

}

//-----------------------------------------------------------------------------------------------

 

 

编译生成flat文件格式的可执行文件hello

arm-elf-gcc -Wl,-elf2flt -o hello hello.c


 

2、制作romfs.img

在编译uClinux时已经生成了romfs.img,但是我们要将我们的hello程序加入romfs中,可以按下面步骤来做(以下假设当前目录为uClinux所在目录)

1)首先,挂载romfs.img

切换到uClinux目录下的images目录并建一个romfs目录:

 

 cd images

 

 mkdir romfs

 

创建挂载点:

 

 mkdir /mnt/romfs

      

挂载:

 

mount -o loop romfs.img /mnt/romfs

 

生成的 hello ,flat 格式的可执行文件要拷入 /images/romfs/bin/中,才能在uclinux 中看见 


2)制作romfs.img

 

/mnt/romfs目录下的所有文件拷贝到images/romfs目录下:

 

cp -r /mnt/romfs/* romfs

 

制作新的romfs.img

 

genromfs -f romfs.img -d romfs

 

3skyeye仿真

1)先写一个config文件skyeye.conf,保存到images目录下,以下为全部内容:

cpu: arm7tdmi

 

mach: at91

 

mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000

mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000

mem_bank: map=M, type=R,  addr=0x01400000, size=0x00400000, file=./romfs.img

mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000

mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000

mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000

mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000

 

2)仿真

转到images目录,执行以下命令:

 

skyeye -e ../linux-2.4.x/linux

 

熟悉的界面出现了,cd bin目录,执行以下命令

 

./hello

 

出现了经典的hello,world

 

 

 

 

原创粉丝点击