arm linux在skyeye上的移植

arm linux在skyeye上的移植

ID:12833877

大小:116.50 KB

页数:6页

时间:2018-07-19

arm linux在skyeye上的移植_第1页
arm linux在skyeye上的移植_第2页
arm linux在skyeye上的移植_第3页
arm linux在skyeye上的移植_第4页
arm linux在skyeye上的移植_第5页
资源描述:

《arm linux在skyeye上的移植》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ARMLinux在SkyEye上的移植0引言   随着市场需求和嵌入式仿真软件SkyEye的日益成熟,众多的嵌入式软件工程师开始选择SkyEye作为软件设计、开发与调试的平台.SkyEye平台是硬件开发板的变异与延伸,它采用软件技术模拟真实的硬件环境.其各个硬件仿真模块已由开发者完备地验证过,因此基于SkyEye平台的软件设计可以忽略大量的硬件细节,获得更高的设计效率,软件产品的设计周期也得以缩短.   同时随着应用程序规模的不断扩大,在SkyEye平台上运行操作系统的需求也越来越迫切.操作系统可以大大减轻程序员在开发图形界面、多任务调度、硬件资源管理等复杂应用中的负担.而ARM

2、Linux正是一款优秀的嵌入式实时操作系统,所以ARMLinux在SkyEye平台的移植有一定的现实意义.1ARMLinux操作系统简介   ARMLinux源自标准的Linux内核,主要针对ARM核的处理器进行了相关移植.由于ARM核的处理器在嵌入式系统领域应用十分广泛,因而ARMLinux也成为诸多嵌入式系统的操作系统平台.为了适应嵌入式应用的需求,它采用了romfs文件系统,可执行文件格式采用的是FLAT格式,而不是标准Linux中采用的elf格式.相对于另一个嵌入式的操作系统uclinux,它启动了MMU,应用程序不能直接读写物理地址(包括CPU寄存器、MEMORY、外设

3、芯片寄存器等),而必须借助驱动的形式,切入内核用ioremap来实现对这些物理地址的访问.   ARMLinux的源代码是完全公开的,并且绝大部分源代码都是采用c语言,只有那些直接与CPU相关的代码比如开关CPU中断等操作才使用汇编语言,因此ARMLinux具有很好的移植性.2SkyEye仿真平台介绍    SkyEye是一个开源软件项目,中文名字是”天目”.SkyEye的目标是在通用的Linux和Windows平台实现一个纯软件集成开发环境,模拟常见的嵌入式计算机系统;SkyEye是一个指令级模拟器,可以模拟多种嵌入式开发板,可支持多种CPU指令集,在SkyEye上运行的操作系

4、统意识不到它是在一个虚拟的环境中运行,而且开发人员可以通过SkyEye调试操作系统和系统软件.SkyEye从总体上分为四个层次:1)用户接口模块:完成处理用户的输入命令,并把相关调试数据输出给用户的任务.2)符号处理模块:主要处理执行文件的头信息,解释执行文件中内嵌的调试信息等,3)目标控制模块:主要完成执行控制,程序栈结构分析,对具体目标硬件的控制.4)目标模拟模块:是SkyEye的核心.它模仿计算机系统中的主要硬件的执行,对执行文件的机器指令解释,并模拟执行每一条机器指令,产生相应的硬件响应等.   SkyEye起源于GDB/ARMulator,并进行了改进和扩展.目前模拟的

5、硬件包括CPU、内存、I/O寄存器、时钟、UART、网络芯片、MMU、CACHE等.其硬件模拟逻辑结构如图1所示。 图1SkyEye硬件模拟逻辑结构3ARMLinux操作系统的移植   在移植工作开始之前,应该先做好准备工作,即准备好移植需要的软件包.移植主要需要三个软件包:ARMLinux源码包、ARM交叉编译所需的编译工具包以及busybox工具包.上述三种工具包都有众多版本,本文中选择的分别是linux-2.4.18-rmk7.tar.bz2、cross-2.95.3.tar.bz2、busybox-1.00.pre10.tar.gz.移植工作主要分4步完成:建立交叉编译环

6、境;编译内核;生成并配置根文件系统;配置SkyEye系统信息.下面详细介绍整个过程.3.1建立交叉编译环境   由于已经准备好了所需软件包,所以建立交叉编译环境的过程实际就是对cross-2.95.3.tar.bz2解包的过程.在本文中,所有的软件源码包都放在/tools目录下,解包所用指令序列在此不做赘述,其解包路径为/usr/local/arm_cross.在上述路径下完成解包后,需使用export指令设置交叉编译工具路径.至此,交叉编译环境已经建立起来,3.2交叉编译ARMLinux内核   在交叉编译内核之前,对编译选项的配置是很重要的.执行“makemenuconfig

7、”指令,进入SyetemType选项.本文中选择对CLEP7312系统板的支持,然后配置FileSystem,对于FileSystem应确保如下支持:1/procfilesystemsupport2ROMfilesystemsupport3Secondextendedfssupport最后配置Blockdevice,确保其有如下支持:4RAMdisksupport5InititalRAMdisk(initrd)support   以上配置是内核编译的必备工作。保存配置后要修改Ma

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。