基于SKYEYE的嵌入式Linux系统研究设计Word格式.docx
《基于SKYEYE的嵌入式Linux系统研究设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于SKYEYE的嵌入式Linux系统研究设计Word格式.docx(23页珍藏版)》请在冰点文库上搜索。
四、实验进展安排
五、考核评价
六、总体设计
七、总结
八、参考文献
根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。
从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。
目前国内一个普遍被认同的定义是:
以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
仿真技术也是实现仿真平台的关键,软件仿真技术的研究早已开始。
目前,嵌入式系统的仿真软件主要有SKYEYE与QEMU,这里选用SKYEYE软件来仿真嵌入式系统中的软硬件系统。
在本次课程设计中,采用ARMv4版本架构的、ARM920T核心的S3C2410A微处理器,应用SKYEYE对经过编译的嵌入式系统的基本模块进行仿真。
SKYEYE是一个面向完整PC系统的开源仿真器,可以实现嵌入式系统的仿真,给用户提供一个虚拟的硬件操作平台。
它是一个指令级仿真器,可以模拟多种嵌入式开发板,可支持多种CPU指令集。
除了仿真处理器外,SKYEYE还允许仿真所有必要的子系统,如连网硬件和图形硬件。
在SKYEYE上运行操作系统与在一个真实的硬件环境中运行是一样的,看不出其中的差别,并且开发人员还可以通过SKYEYE调试操作系统和系统软件。
通过SKYEYE仿真集成环境不仅可以很方便地进入到嵌入式系统软件学习和开发领域,而且可以有效地提高工作效率,有助于进一步学习、分析、精通Linux内核,掌握ARM嵌入式CPU编程。
通过对嵌入式系统的基本知识及相关概念的了解,在熟悉Linux操作系统的基础上,利用SKYEYE仿真软件,对嵌入式系统的开发过程进行软件仿真,从而掌握嵌入式Linux系统开发中的主要方法。
具体地,在设计过程中,达到以下目标:
掌握嵌入式Linux系统基础部分的U-Boot软件、Linux内核的配置、编译与应用;
掌握BusyBox软件及根文件系统的制作方法;
掌握SKYEYE软件的使用方法,通过SKYEYE仿真软件运行U-Boot文件、vmLinux文件映像及根文件系统root.cramfs映像。
最终,能在掌握嵌入式系统开发过程及SKYEYE软件使用方法的基础上,建立更有效的嵌入式系统开发方法,提高嵌入式系统的开发与应用的效率。
1.任务要求
要求能独立地分析题目意义、设计实现步骤、制作相关软件、调试嵌入式系统“三大基础部分”。
该设计的具体要求如下:
2.设计所需的软硬件设备
(1)硬件环境配置
计算机:
Intel(R)Pentium(R)及以上
内存:
1GB及以上
(2)软件环境配置
操作系统:
MicrosoftWindowsXPProfessionalServicePack2
虚拟机:
VMwareWorkStation7
Linux系统:
RedHatEnterpriseLinuxAS4(2.6.9-5.EL)
嵌入式交叉编译器:
arm-linux-gcc3.4.4版本
Linux内核版本:
Linux-2.6.14
SKYEYE版本:
skyeye-1.2.4
U-Boot版本:
U-Boot-1.3.2
BusyBox版本:
BusyBox-1.2.0
3.课程设计报告内容
按该设计报告要求的模式格式提交课程设计报告书。
四推荐进程安排
进展安排
1、查阅资料、设计步骤(已进行)
2、安装与配置开发环境 1天;
3、配置与编译相关软件及系统 3天;
4、写出设计报告1天。
考核评价
评价机制
权重
过程评价
考勤
10%
课堂纪律
自主学习
20%
团队合作
任务完成过程
任务完成结果
设计报告书写
合计
100%
6、总体设计
6.1建立VMWARE虚拟机
1.解压软件包到指定的文件夹
2.双击VMwareWorkStation安装程序图标,运行安装程序,进入Vmware虚拟机安装的初始加载界面。
3.Vmware虚拟机的初始加载结束后,进入安装向导界面,点击Next进入下一步
4.选择安装类型,典型安装(Typical),点击Next进入下一步
5.设定程序安装,点击‘change…’按钮,可以选择更改默认的安装路径,然后设置自己需要安装的程序路径,在选定安装路径后,点击Next按钮进入下一步
6.提示安装程序时需要创建的快捷图标(桌面图标、开始菜单中的程序文件夹及快速启动工具图标等3项),默认的设置即可,不需要改动,直接点击Next按钮进入下一步。
7.确认前面各个步骤中设置的项目是否正确,并准备进入正式的安装过程。
在这一步点击‘Coutinue’按钮进入正式安装过程。
8.安装完毕后,填写注册信息,这里需要注册码,按要求将对应各项填写完以后,直接点击‘Enter’按钮进行信息注册,并进入下一步
9.如果安装了保护卡的电脑不要选择“RestartNow”;
反之,选择“RestartNow”,重新启动系统。
重新启动系统后,点击‘开始’->
‘所有程序’->
‘VMwareWorkStation’运行Vmware虚拟机
6.2安装LinuxRHELAS4操作系统环境
1.在Vmware虚拟机的运行界面中,点击菜单栏中的‘File’项,在弹出的下拉菜单中选‘New’项,再点击弹出菜单的‘VirtualMachine…’项。
出现新的虚拟机安装向导
2.在弹出的安装向导中提供两个选项,这里选择自定义安装(Custom),进入下一步
3.选择Vmware虚拟机平台,不同的Vmware虚拟机平台支持的硬件特性不同。
这里选择Workstation6.5-7.0,进入下一步。
4.选择要安装的Linux操作系统光盘镜像,同时使用Vmware虚拟机的“EasyInstall”功能自动安装Linux操作系统。
选择第一张安装光盘镜像,进入下一步。
5.设置安装的Linux系统的用户名和密码信息。
进入下一步。
6.设置Linux虚拟机的显示名称及安装路径。
根据自己的情况选择安装路径,名称可以选择默认。
7.配置虚拟机使用的处理器。
配置处理器数量、处理器的内核数,这里使用默认的设置:
1个单核处理器。
8.配置虚拟机使用的存储器空间,这里设置为512MB。
9.设置网络类型。
选择Usenetworkaddresstranslation(NAT),,进入下一步。
10.设置I/O适配器类型,进入下一步。
11.创建一个虚拟磁盘,在其上安装Linux操作系统。
进入下一步
12.选择使用的磁盘类型,按默认的设置即可。
13.设置硬盘的空间大小,30GB,进入下一步。
14.设定存储磁盘文件的路径。
根据自己的情况进行选择,进入下一步。
15.对话框汇总了前面的设置项目,如果没有错误,不需要修改,直接点击Finsh按钮,进行Linux系统的安装。
16.第1张光盘安装完毕,需要第2张安装光盘的镜像。
点击右下方的“ChangeDisc”按钮,在弹出的对话框中点击“Browse...”按钮在弹出的对话框中双击选择第2个光盘的镜像。
第3张和第4张操作相似。
17.在第4张光盘安装完毕,又需要第1张安装光盘的镜像
18.Linux系统安装完毕后会自动启动,会出现登陆界面。
19.在界面中输入刚开始设置的用户名和密码,进入Linux系统的桌面环境。
6.3建立Windows操作系统与Linux操作系统的共享功能
1.点击“Applications”->
“SystemSettings”->
“SecurityLevel”,弹出“SecurityLevelConfiguration”对话框。
2.在“SecurityLevelConfiguration”对话框中,将“SecurityLevel”项设置为“Disablefirewall”,即无防火墙。
3.点击“Applications”->
“Samba”,在弹出的“Samba服务器配置”对话框中进行配置。
而显示的配置内容为空,这说明还没有配置Samba服务器。
4.点击“ADD”图标,添加1个Samba服务共享,在弹出的对话框中选择“Basic”选项卡,在其中进行设置:
在“Directory”文本框输入/home/zq;
在“Sharename”文本框中输入zq;
在“BasicPermissions”选项中选择“Read/Write”。
接着切换到“Access”选项卡,其中有两项选择,一项是仅允许特定的用户访问,另一项是允许所有用户访问。
在这里选择“Allowaccesstoeveryone”选项。
5.点击“Preferences”->
“ServerSettings...”,弹出“服务器设置”对话框。
在“Basic”选项卡内,按默认内容设置“Workgoup”与“Description”;
在“Security”选项卡内“AuthenticationMode”项选择“Share”,“EncryptPasswords”项选择“NO”,“GuestAccount”项选择“NoGuestAccount”
6.设置/home/zq文件夹的属性
7.在windows操作系统环境下,右键点击“网络邻居”图标,在弹出的“网络连接”对话框中,可以看见有一个“VMwareNetworkAdapterVMnet8”连接项,右键点击该项,在弹出的菜单中点击选择“属性”选项,接着会弹出“VMwareNetworkAdapterVMnet8”属性对话框,其中,在“常规”选项卡里面有一个“此连接使用下列项目(O)”文本框,点选其中的“Internet协议(TCP/IP)”项,然后点击下方的“属性”按钮,会弹出“Internet协议(TCP/IP)属性”对话框,其中显示的“IP地址(I)”为:
202.196.174.28,在下面将相关的IP地址都配置在同一网段中。
8.设置Samba服务器IP地址
点击“Applications”->
“SystemTools”->
“NetworkDeviceControl”项,弹出“网络设备控制”对话框。
点击选定“eth0”设备,确认“Status”栏的内容为“Active”(如果“Status”栏的内容为“Inactive”,需要先点击右侧的“Activate”按钮,将其激活),再点击右边的“Configure....”按钮,弹出“网络配置”对话框,其中显示了已有的网络设备,将其中的IP地址配置为和上一步中在同一网段的IP地址
9.点击VMware虚拟机的“VM”菜单,选择“Settings...”项。
在“Hardware”选项卡中左侧选择“NetworkAdapter”项,相应的,在右侧的Networkconnection中选择“NAT:
Usetosharethehost'
sIPaddress”项,也可以选择“Bridged:
Connecteddirectlytothephysicalnetwork项”。
同时,在“Devicesstatus”框中选择“Connected”与“Connectatpoweron”项
10.启动Smaba服务器,启动终端,在终端输入命令servicesmbstart,启动samba服务。
11.在windows下访问共享文件夹。
在windows系统中点击“开始”->
“运行”,输入samba服务器的IP地址,点击“确定”按钮,就可以看到Linux系统下的共享文件夹/home/zq
6.4建立交叉编译环境;
安装SKYEYE仿真软件
Gcc交叉编译环境的安装
在终端运行如下命令:
设置环境变量,将交叉开发工具的设置更新到系统环境中,这样就可有直接在命令行使用,设置环境变量的方法如下:
(1)在终端运行命令:
vi/root/.bashrc
(2)编辑/root/.bashrc文件,在最后一行添加exportPATH=$PATH:
/home/usr/local/bin.
如图所示
(3)注销Redhant系统,重新登录,使以上设置生效。
启动终端,在命令行输入arm-linux-gcc–v,出现如下图示的信息,说明交叉编译环境已经成功安装。
SKYEYE的安装:
6.5配置并编译U-Boot-1.3.2软件
6.5.1交叉编译U-Boot-1.3.2软件
把U-Boot-1.3.2压缩文件放到/home文件夹下
在终端中输入:
cd/home进入到home文件夹下
在终端中输入:
tar–xjvfu-boot-1.3.2.tar.bz2–C./把u-boot-1.3.2解压到home文件夹下
cdu-boot-1.3.2进入到cdu-boot-1.3.2文件夹下
makesmdk2410_configCROSS_ROMPILE=arm-linux-配置编译环境
makeCROSS_ROMPILE=arm-linux-选择嵌入式交叉编译工具进行编译
编译完成后,可以得到U-boot各种格式的映像文件和符号表。
6.5.2使用SKYEYE仿真软件测试编译得到的U-Boot文件
新建一个文件,命名为skyeye_s3c4210.conf,并把内容配置为
#skyeyeconfigfileforS3C2410Xarch:
armcpu:
arm920tmach:
s3c2410x#physicalmemorymem_bank:
map=M,type=RW,addr=0x00000000,size=0x00100000mem_bank:
map=M,type=RW,addr=0x30000000,size=0x04000000#mem_bank:
map=M,type=RW,addr=0xc1600000,size=0x00a00000#allperipheralsI/Omappingareamem_bank:
map=I,type=RW,addr=0x48000000,size=0x20000000mem_bank:
map=I,type=RW,addr=0x19000300,size=0x00000020#net:
type=cs8900a,base=0x19000300,size=0x20,int=9,mac=0:
4:
3:
2:
1:
f,ethmod=tuntap,hostip=10.0.0.1lcd:
type=s3c2410x,mod=gtk#load_addr:
base=0x30000000,mask=0xFFFFFF#dbct:
state=on
在/home文件夹下的U-Boot-1.3.2里找到u-boot,和u-boot.bin文件,把这两个文件和skyeye_s3c2410.conf一同复制到home/ilovechina/skyeye-1.2.4/binary文件夹里
在终端中输入命令:
cd/home/ilovechina
cdskyeye-1.2.4
在终端中输入命令:
cdbinary
./skyeye–cskyeye_s3c2410.conf–eu-boot
在u-boot可以在“SMDK2410#”后输入u-boot命令
6.6配置并编译Linux-2.6.14内核源代码
6.6.1交叉编译Linux内核源代码软件
把Linux2.6.14压缩文件放到/home文件夹下
在终端中输入cd/home进入到home文件夹下
在终端中输入tar-xjvflinux-2.6.14.tar.bz2把Linux2.6.14压缩文件解压到home文件夹下
在终端中输入cd/home/linux-2.6.14使用vi编辑器打开该目录下的Makefile文件,修改第192行与第193行,改为:
ARCH?
=arm
CROSS_COMPILE?
=/home/usr/local/bin/arm-linux-分别指定编译的内核架构与使用的交叉编译工具。
在终端中输入:
cparch/arm/configs/smdk2410_defconfig.config
makeARCH=armmenuconfig启动内核配置菜单,参考书中各个选项的配置,特别要注意系统类型、启动选项、设备驱动程序和内核调试的配置
更改程序运行的物理地址
修改include/asm-arm/arch-s3c2410/memory.h文件,
在终端中输入命令viinclude/asm-arm/arch-s3c2410/memory.h
将其中第33行指定SDRAM其实地址的如下内容
修改include/asm-arm/arch-s3c2410/map.h文件,
viinclude/asm-arm/arch-s3c2410/map.h
修改后的内容为:
Linux内核的编译:
cd/home/linux-2.6.14
makeARCH=armCROSS_COMPILE=arm-linux-
内核编译完毕后,将得到三个重要的文件,分别位于根目录下的vmlinux、位于Linux-2.6.14安装目录中arch/arm/boot/路径下的Image与zImage。
6.6.2使用SKYEYE仿真软件测试编译得到的Linux内核文件vmLinux
复制vmlinux到/home/ilovechina/skyeye-1.2.4/binary
cpvmlinux/home/zcnet/skyeye-1.2.4/binary/
建立skyeye.conf配置文件到/home/ilovechina/skyeye-1.2.4/binary
cd/home/zcnet/skyeye-1.2.4/binary/
viskyeye.conf
skyeye.conf配置文件的内容为:
#skyeyeconfigfilefors3c2410
cpu:
arm920t
mach:
s3c2410x
#physicalmemory
mem_bank:
map=M,type=RW,addr=0xc0000000,size=0x00800000
map=M,type=RW,addr=0xc0800000,size=0x00800000,file=./initrd.img
map=M,type=RW,addr=0xc1000000,size=0x01000000
#allperipheralsI/Omappingarea
map=I,type=RW,addr=0x48000000,size=0x20000000
map=I,type=RW,addr=0x19000300,size=0x00000020
net:
type=cs8900a,base=0x19000300,size=0x20,int=9,mac=0:
f,ethmod=tuntap,hostip=10.0.0.1
lcd:
type=s3c2410x,mod=gtk
#dbct:
state=on
复制文件系统initrd.img到/home/ilovechina/skyeye-1.2.4/binary
把SKYEYE的测试工具包压缩文件放到/home文件夹下。
cd/home
tar–xjvfskyeye-testsuite-2.3.tar.bz2
cdskyeye-testsuite-2.3/linux/s3c2410/s3c2410x-2.6.14
cpinitrd.img/home/zcnet/skyeye-1.2.4/binary
使用SKYEYE仿真Linux系统
cd/home/zcnet/skyeye-1.2.4/binary
./skyeye-evmlinux
6.7制作Linux根文件系统
6.7.1编译安装BusyBox
1.在home文件夹中新建一个文件夹命名为ilovechina
2.把BusyBox压缩文件放到/home/ilovechina下
3.在终端中输入命令:
cd/home/ilovechina进入BusyBox-1.2.0的存放位置
4.在终端中输入命令:
tar-xjvfbusybox-1.2.0.tar.bz2进行解压
5.在终端中输入命令:
cdbusybox-1.2.0
6.在终端中输入命令:
makemenuconfig进入BusyBox的主配置菜单
7.参考书中提供的资料进行设置各个选项
8.配置完成各个选项后,保存设置
9.在终端中输入命令:
make对BusyBox进行编译,进行编译后得到两个主要的文件:
BusyBox与BusyBox_unstripped。
10.在终端中输入命令:
makeinstall安装BusyBox以后会在BusyBox-1.2.0目录中产生_install目录,这是Bu