基于arm7的uclinux移植(嵌入式课程设计)

基于arm7的uclinux移植(嵌入式课程设计)

ID:6164016

大小:1.08 MB

页数:39页

时间:2018-01-05

基于arm7的uclinux移植(嵌入式课程设计)_第1页
基于arm7的uclinux移植(嵌入式课程设计)_第2页
基于arm7的uclinux移植(嵌入式课程设计)_第3页
基于arm7的uclinux移植(嵌入式课程设计)_第4页
基于arm7的uclinux移植(嵌入式课程设计)_第5页
资源描述:

《基于arm7的uclinux移植(嵌入式课程设计)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于ARM7的uClinux移植1.引言随着计算机技术的发展,嵌入式系统已不仅仅属于计算机领域的一个研究热点,在电子、工业控制、航空航天等领域都有广泛的应用。嵌入式设备应用广泛,几乎包括了我们周围的所有电器设备:PDA、手机、机顶盒、汽车、微波炉、自动取款机等。和通用计算不同的是嵌入式系统针对的是具体的专用系统,一般也都具有成本和空间的敏感性,它的硬件和软件都必须高效率的设计。在航空航天、医疗等特殊应用领域还要求做到很高的安全可靠性。嵌入式系统还可以根据任务灵活的增减软硬件。uClinux在官方网站(www.uClinux.

2、org)中有源代码提供,同时也有文档说明所支持的体系结构。结合实际的应用,在众多的体系结构中选择一种。下面介绍一下在移植uClinux中会遇到的一些关键问题。(1)交叉编译环境的建立移植uClinux必须有一台PC机,安装了Linux操作系统。同时还要有一块测试板,测试板的体系结构uClinux必须支持。对于不同体系结构,GNU都提供了相应的开发软件包。这可以到网上查找,有些是源代码包,下载后要经过GCC的编译才能应用;有些是应用程序包,安装后即可使用。安装完了工具包后,Linux中就有了基于该体系结构的编译器,链接器,调试

3、器以及一些实用小工具,例如反汇编,反编译等,以后编译uClinux内核,制作文件系统都要依赖交叉编译系统。(2)uClinux的内核加载方式的问题uClinux的内核有两种可选的运行方式:可以在Flash上直接运行,也可以加载到内存中运行。前者可以减少内存需要。Flash运行方式:把内核的可执行映像文件烧到Flash上,系统启动时从Flash的某个地址开始逐句执行。这种方法实际上是很多嵌入式系统采用的方法。内核加载方式:把内核的压缩文件存放在Flash上,系统启动时读取压缩文件在内存里解压,然后开始执行,这种方式相对复杂一些

4、,但是运行速度可能更快(RAM的存取速率要比Flash高)。同时这也是标准Linux系统采用的启动方式。这里需要编写一个Bootloader软件。Bootloader软件实现的功能包括开机寄存器的配置,内核与文件系统的加载,传递硬件与启动参数给内核。网上有许多Bootloader可以下载,但是都需要根据自己测试板硬件的信息进行改写。与PC机上的加载过程做对比,Bootloader的功能类似BIOS+LinuxLILO。(3)uCIinux内核的编译网上有许多uClinux源代码,最著名的就是uClinux官方网站。从网上下载

5、一个uClinux的源代码,根据自己的需要对内核进行裁减,用交叉编译器对内核进行编译。(4)uClinux的根(root)文件系统制作及其加载uClinux系统采用:omfs文件系统,这种文件系统相对于一般的ext2文件系统要求更少的空间。空间的节约来自于两个方面:首先内核支持romfs文件系统比支持ext2文件系统需要更少的代码;其次romfs文件系统相对简单,在建立文件系统超级块(Superblock)需要更少的存储空间。romfs文件系统不支持动态擦写保存,对于系统需要动态保存的数据采用虚拟ram盘的方法进行处理(ra

6、m盘将采用ext2文件系统)。同时uClinux内核也支持各种文件系统,例如,网络文件系统,在需要时可以进行mount。在编译内核的同时也可以选择编译文件系统中的应用程序。在源代码包中有许多应用程序源代码,可以根据自己的需要进行选择。由于基于Linux的应用程序较多且源代码开发,因此基于uClinux的产品可以进行快速开发,只要能够找到相应的源代码,在制作文件系统时编译进去就可以了。2.uClinux概述Linux是跨平台的操作系统,可支持X86,MIPS,ARM等各种内核,但无论哪一种内核,Linux运行都必须有内存管理单

7、元。为了解决没有内存管理单元芯片如何运行Linux,GNU组织开发了uClinux,一种类Linux的操作系统。uClinux是专为无存储器管理单元(MMU)的微控制器打造的嵌入式Linux操作系统。uClinux首先被移植到摩托罗拉的MC68328DragonBall集成微处理器上。从那以后,uClinux越来越受到业界的青睐,被移植到更多的无MMU芯片上。uClinux是嵌入式linux的一个分支,具有开源的代码,便于扩充实时性的要求,很高的适应性和可靠性,成熟的开发工具和可灵活配置的内核。一个嵌入式uClinux系统由

8、下面三个基本部分组成:引导程序、uClinux内核(由内存管理、进程管理和中断处理等构成)和文件系统。uClinux可以通过定制使内核小型化,还可以加上GUI(图形用户界面)和定制应用程序,并将其放在ROM,RAM,FLASH或DiskOnChip中启动。由于嵌入式uClinux操作系统的

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

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

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