免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1598 | 回复: 0
打印 上一主题 下一主题

Ubuntu8.04下skyeye仿真及uClinux实例 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-19 01:07 |只看该作者 |倒序浏览
[color="#000000"]from:http://blog.csdn.net/I2Cbus/archive/2008/08/21/2805897.aspx

[color="#000000"]一、uClinux编译环境的配置和编译
[color="#000000"]1、下载arm-elf-tools和uClinux
[color="#000000"]
[color="#0000ff"]http://www.uclinux.org/pub/uClinux/arm-elf-tools/arm-elf-tools-20030314.sh
[color="#000000"]
[color="#0000ff"]http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20030305.tar.gz
[color="#000000"]
[color="#000000"]2、安装
[color="#000000"](1)先切换到root:
[color="#000000"]     sudo -s -H
[color="#000000"]
[color="#000000"](2)安装arm-elf-tools:
[color="#000000"]export _POSIX2_VERSION=199209
[color="#000000"]
[color="#000000"]sh ./arm-elf-tools-20030314.sh
[color="#000000"](3)uClinux配置并编译:
更新软件包信息:
[color="#000000"]
[color="#000000"]apt-get update
[color="#000000"]
安装一些必备软件包:
[color="#000000"]
[color="#000000"]apt-get install ncurses-dev
[color="#000000"]
[color="#000000"]apt-get install tcl
[color="#000000"]
[color="#000000"]apt-get install tk
[color="#000000"]
解压 uClinux
[color="#000000"]
[color="#000000"]tar zxvf  uClinux-dist-20030305.tar.gz
[color="#000000"]
切换到uClinux的解压目录,运行下以下命令之一进行配置:

[color="#000000"]make menuconfig 或 make xconfig
[color="#000000"]
编译:
[color="#000000"]make dep
[color="#000000"]make
[color="#000000"]make image
[color="#000000"]在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,其它的可用默认选项,当然在实际的配置和裁减中还是有许多其它选项要改的。

[color="#000000"]二、skyeye的安装
[color="#000000"]在ubuntu下安装skyeye相当简单,只要执行以下命令:
[color="#000000"]
[color="#000000"]apt-get install skyeye
[color="#000000"]
[color="#000000"]如果出错先执行apt-get update
[color="#000000"]
[color="#000000"]三、用skyeye仿真uClinux
[color="#000000"]1、先写一个测试程序,保存为hello.c:
[color="#000000"]//---------------------------------hello.c----------------------------------------------------
[color="#000000"]
[color="#000000"]#include
[color="#000000"]
[color="#000000"]int main(void)
[color="#000000"]{
[color="#000000"]    printf("hello,world\n");
[color="#000000"]    return 0;
[color="#000000"]}
[color="#000000"]//-----------------------------------------------------------------------------------------------
[color="#000000"]
[color="#000000"]
[color="#000000"]编译生成flat文件格式的可执行文件hello:
[color="#000000"]arm-elf-gcc -Wl,-elf2flt -o hello hello.c
[color="#000000"]
[color="#000000"]
[color="#000000"]2、制作romfs.img
[color="#000000"]在编译uClinux时已经生成了romfs.img,但是我们要将我们的hello程序加入romfs中,可以按下面步骤来做(以下假设当前目录为uClinux所在目录):
[color="#000000"](1)首先,挂载romfs.img
切换到uClinux目录下的images目录并建一个romfs目录:
[color="#000000"]
[color="#000000"] cd images
[color="#000000"]
[color="#000000"] mkdir romfs
[color="#000000"]
创建挂载点:
[color="#000000"]
[color="#000000"] mkdir /mnt/romfs
[color="#000000"]      
挂载:
[color="#000000"]
[color="#000000"]mount -o loop romfs.img /mnt/romfs
[color="#000000"]
注:将前面编译的hello文件放到romfs/bin目录下,一起编译到镜像中
[color="#000000"](2)制作romfs.img
[color="#000000"]
将/mnt/romfs目录下的所有文件拷贝到images/romfs目录下:
[color="#000000"]
[color="#000000"]cp -r /mnt/romfs/* romfs
[color="#000000"]
制作新的romfs.img

[color="#000000"]genromfs -f romfs.img -d romfs
[color="#000000"]
[color="#000000"]3、skyeye仿真
[color="#000000"](1)先写一个config文件skyeye.conf,保存到images目录下,以下为全部内容:
[color="#000000"]cpu: arm7tdmi
[color="#000000"]
[color="#000000"]mach: at91
[color="#000000"]
[color="#000000"]mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000
[color="#000000"]mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000
[color="#000000"]mem_bank: map=M, type=R,  addr=0x01400000, size=0x00400000, file=./romfs.img
[color="#000000"]mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000
[color="#000000"]mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000
[color="#000000"]mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000
[color="#000000"]mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000
[color="#000000"]
[color="#000000"](2)仿真
转到images目录,执行以下命令:
[color="#000000"]
[color="#000000"]skyeye -e ../linux-2.4.x/linux
[color="#000000"]
熟悉的界面出现了,cd 到bin目录,执行以下命令
[color="#000000"]
[color="#000000"]./hello
[color="#000000"]
[color="#000000"]出现了经典的hello,world
[color="#000000"]
[color="#000000"]
[color="#000000"]到此,基本的仿真工作已经做完了.
[color="#000000"]
[color="#000000"]
[color="#000000"]参考资料:
[color="#000000"]
[color="#000000"]
http://hi.baidu.com/zkheartboy/blog/item/a73927ad3629c9094a36d6f1.htm
[color="#000000"]

http://forum.ubuntu.org.cn/viewtopic.php?t=88369
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/66439/showart_2182412.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP