全部博文(33)
分类: LINUX
2007-10-08 19:26:30
SkyEye可以做什么事情?
1. 通过SkyEye可以帮助促进嵌入式系统的学习,在不需要额外硬件的情况下学习和分析uclinux操作系统和其它嵌入式操作系统,如ucosII等。
2. SkyEye可用于嵌入式系统的教学。
3. 希望通过skyeye促进操作系统的研究,如ucosII,uclinux+RTAI,uclinux2.5.x等。
4. 可以基于SkyEye进行仿真特定硬件模块的研究。
5. SkyEye可以作为嵌入式集成开发环境开发嵌入式系统(当然需要对SkyEye做大量的工作)。
注:引自陈渝《SkyEye Project FAQ》
Lesson 1 开始前的准备
再穷买不起开发板也得有台电脑吧。
在电脑上装linux,最好是新一点的版本,如果你以前没装过,那先在虚拟机上练习一下,然后再用真实的电脑装(当然你得有光盘),免得新手不小心把盘格了(什么?你不知道什么是虚拟机?去网上找一找吧!Vmware或Virtual PC)
第1节 linux版本解疑
我用的linux版本是:SuSe linux 10.0 核心版本是2.6.x
如果你没怎么装过linux,可以先从mandriva linux 2006 Free Edition(基于2.6.x核心)入手,它的安装比较友好,分区程序自动化,甚至可以直接安装在Ntfs或Fat分区上,不过你可得把这个分区清空,因为它会把此分区缩小,并在空出的分区尾部建立一个交换分区。mandriva linux 2006 Free Edition有3张安装CD,1张附带软件CD。是我认为做得比较好的linux版本,界面也挺漂亮,虽然不如SuSe linux,但比Red Hat强。顺便说一下,mandriva linux安装时默认安装Eva QQ客户端,你可以用它来上(挂)QQ。
如果你比较熟悉linux,你一定听过大名鼎鼎的Red Hat公司,RPM软件包就是Red Hat制定的标准,Red Hat linux从第9版之后就成了企业版(都是钱惹的货),于是其个人版就改名叫Red Hat Fedora Core,现在最新版是Red Hat Fedora Core 4,基于2.6.x核心,4张安装CD。当然你也可以安装企业版,不过要激活就是了。
SUSE linux 是我最中意的linux发行版,免费又好用,5张安装CD,数不清的附带软件,特别是自带RealPlayer10
以上版本对中文的支持都很不错,都支持自动加载windows的NTFS和FAT格式的分区,比如SUSE linux支持NTFS分区的读操作和FAT分区的读写操作。还有另外一些比较小的的发行版,比如全中文的Magic Linux,单CD,最近(大概也是半年前了吧)的版本是1.2,还有比如因为前身Lindows而被Microsoft吃了官司而改名的Linsprie,最新版本好像是5.0,单CD,全英文,做得也不错,界面很华丽。
第2节 准备软件
Skyeye V1.0源码skyeye-1.0.0.tar.bz2,去或上找吧, 大小229KB,tar压缩格式
下载uClinux源码uClinux-dist-20041215.tar.gz, 去,个头比较大192MB,tar压缩格式,包含了2.0.x核心,2.4.x核心和2.6.x核心的源码以及一堆库文件,解压后900MB,包含86058个文件。
下载arm-elf交叉编译器arm-elf-tools-20030314.sh,去上找把, 大小17.5MB
Skyey还需要以下软件支持:
gcc编译器,版本3.3以上
gtk+-2.0-dev
pkg-config
atk-dev
pango-dev
freetype2-dev
glib-dev
x11-dev
binutils-dev(bfd)
这些东西你可以在装系统的时候就选上,许多系统都有自带(只是默认不装),当然你也可以在系统装完后用系统自带的软件安装管理器来安装。
Lesson 2 开始安装
假设文件都放在/home/用户名/bin里,本文为/home/benjaminwan/bin
第1节 安装skyeye
1)打开终端,以管理员身份安装软件,输入su,输入Root用户密码,用cd命令进入/home/benjaminwan/bin
图1
2)解压:tar xvf skyeye-1.0.0.tar.bz2
3)进入目录skyeye-1.0.0:cd skyeye-1.0.0
4)编译skyeye:make
等吧,一大堆英文闪过……
5)完成:你可以执行binary/skyeye -h看看是不是有如下图2所示的文字
如果你编译没通过,那就是它所需要的软件包没装……自己想办法吧
第2节 安装交叉编译器arm-elf-tools
1)我们再回到/home/benjaminwan/bin目录:执行cd ..
2)安装:执行arm-elf-tools-20030314.sh
它会自动被安装在/usr/local/bin里
第3节 安装uClinux
1)解压uClinux源码:tar zxvf uClinux-dist-20041215.tar.gz
2)进入目录:cd uClinux-dist (linuxe下大小写是有分别的哦)
3)编译前的设置:make config
第1步Vendor选择:输入GDB 图3
第2步产品选择(随便一个都可以):输入ARMulator
第3步核心选择:输入linux-2.4.x
第4步库的版本:默认,直接回车
第5步:是否使用所有默认设置,直接回车,等你熟练掌握了再自己配置吧
第6步:自定义核心设置,直接回车,同上
第7步:自定义Vendor/User设置,直接回车,同上
第8步:Update Default Vendor设置,直接回车,同上
一堆英文闪过,等啊等……
4)检查文件依赖性:make dep
一堆英文闪过,等啊等……
5)终于可以开始编译了:make
又是一堆英文闪过,等啊等……
在uClinux-dist/linux-2.4.x目录下会生成可执行文件linux,在uClinux-dist/images/会生成romfs.img等文件
不要关掉终端窗口哦,等下还要用。
Lesson 3用Skyeye模拟运行uClinux
1)打开一个文本编辑器,输入以下内容:
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=./boot.rom
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
并保存在uClinux-dist目录下,文件名skyeye.conf
2)终端窗口命令提示符应该停留在uClinux-dist目录下,如果不是,请用cd命令转到此目录下
3)做个链接:ln -s /images/romfs.img boot.rom
因为上面的skyeye.conf指定了当前目录下的boot.rom文件,而上一步生成的文件在/images目录下的romfs.img
4)执行命令:/home/benjaminwan/bin/skyeye-1.0.0/binary/skyeye -e linux-2.4.x/linux
如果顺利的话,你就可以看到用字符拼成的uClinux几个赫然大字。
图4
5)如果你想退出至命令行模式,可以按快捷键ctrl+c
最后,你也可以用arm-elf-gdb来调试核心
1)确定你是在uClinux-dist目录下,如果不是请用cd命令转到改目录下
2)做个链接:ln -s /images/romfs.img boot.rom,如果上面做过了,这步就可以略过
3)执行arm-elf-gdb linux-2.4.x/linux,便会转到gdb提示符下
4)执行target sim
5)执行load
6)执行run
如果顺利的话,你就可以再一次看到用字符拼成的uClinux几个赫然大字
7)如果你想退出,可以输入quit并按y
然后按ctrl+c退出gdb提示符
本文介绍的只是skyeye的基础配置,至于其高级应用,就要靠自己去挖掘了。