Chinaunix首页 | 论坛 | 博客
  • 博客访问: 192578
  • 博文数量: 33
  • 博客积分: 1460
  • 博客等级: 上尉
  • 技术积分: 500
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-24 18:08
文章分类

全部博文(33)

文章存档

2009年(4)

2008年(9)

2007年(20)

我的朋友

分类: LINUX

2007-10-08 19:26:30

ARM7开发板模拟器Skyeye安装设置全攻略
 
本文目的:在linux里装Skyeye,用Skyeye模拟ARM7DTMI,运行uClinnux-2.4.x

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的基础配置,至于其高级应用,就要靠自己去挖掘了。

阅读(3876) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~