uClinux在NiosII嵌入式平台上的移植研究

uClinux在NiosII嵌入式平台上的移植研究

ID:40572503

大小:115.00 KB

页数:4页

时间:2019-08-04

uClinux在NiosII嵌入式平台上的移植研究_第1页
uClinux在NiosII嵌入式平台上的移植研究_第2页
uClinux在NiosII嵌入式平台上的移植研究_第3页
uClinux在NiosII嵌入式平台上的移植研究_第4页
资源描述:

《uClinux在NiosII嵌入式平台上的移植研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、uClinux在NiosII嵌入式平台上的移植研究  1.NiosII嵌入式处理器广告插播信息维库最新热卖芯片:74HCT244DUPC8106T-E3GL386SPW20N60C3EPM5032PC-20LX8385-00CDDOP27FJACS4025SMPC603RRX200LCXC4008E-2PQ208C  NiosII是运行在FPGA上的五级流水线、单指令的RISC处理器,它专门针对Altera的可编程逻辑器件及片上可编程的设计思想做了相应的优化。作为一种可配置的精减的RISC处理器,它可以与用户自定义逻辑结合构成SOPC系统,并下载到Altera的可编程器件中。

2、32位的NiosII软核,结合外部闪存以及大容量存储器,可以构成一个功能强大的32位嵌入式处理器系统。此外,利用Altera提供的IDE(Integrateddevelopmentenvironment)开发工具可以方便的在调试模式下调试处理器,提高开发的速度。  作者使用CycloneII版NiosII应用开发板NIOS-DEVKIT-2C35作为移植实现的平台,开发板主要包括CycloneIIEP2C35器件、EPM7128AECPLD配置控制逻辑、存储器、串行配置连接器、FPGA和CPLD的JTAG接口等。  2.移植  2.1.uClinux嵌入式操作系统  uCli

3、nux是Linux的一个嵌入式版本,它经过小型化改造,形成了一个高度优化、代码紧凑的嵌入式Linux,并保留了Linux的大多数优点。最新的2.6版本在内核主体中加入了提高中断性能和调度响应时间的改进,其中有三个最显著的改进:采用可抢占内核、更加有效的调度算法以及同步性的提高。  2.1.1.uClinux操作系统的移植  uClinux源代码绝大部分都是使用的C语言,只有那些直接与处理其硬件相关的代码如开关CPU中断等操作才采用汇编语言编写,因此uClinux具有很好的移植性。一般来说,uClinux的移植大致分为三类:  1)结构层次的移植。如果待移植的处理器结构不同于任

4、何已经支持的处理器结构,则需要修改linux/arch目录下的相关处理器结构的文件。uClinux内核代码的大部分是独立于处理器和其体系结构的,但是其最底层的代码也是特定于各个系统的。他们的中断处理上下文、内存维护、任务上下文和初始化过程都是独特的。对一个新型的体系,其下层程序可以模仿与其相似的体系程序编写。  2)平台层次的移植。待移植处理器是某种uClinux已支持体系的分支处理器,即如果待移植的处理器是基于NiosII内核的,而NiosII内核已经被uClinux支持,则需要在相关体系结构目录platform下建立相应目录并编写相应代码,这些代码主要是跟踪程序(实现用户

5、程序到内核函数的接口等功能)、中断控制调度程序和内存初始化程序等。  3)板级移植。如果所用处理器(如CycloneII版本系列)已经被uClinux支持的话,就只需要板级移植了。板级移植需要修改或添加linux/arch/Nios2nommu/scripts目录中的文件,该目录中主要是与具体硬件平台相关的配置,可以利用NiosII自带的SOPCBuilder软件生成具体平台对应的配置文件。  对于uClinux已经支持的硬件架构,移植的过程相对较为简单,主要考虑修改与硬件开发平台相关的具体因素,如内存大小、外围设备的配置等。一般现在做的大部分移植都是平台层次移植和板级移植。

6、  2.1.2.initramfs文件系统  作者使用的uClinux2.6操作系统中,用initramfs文件系统取代了以前的romfs文件系统。  1.romfs文件系统。romfs文件系统是在uClinux2.4以及之前版本广泛用到的文件系统,这种文件系统相对于一般的ext2/ext3文件系统要求更少的空间。romfs文件系统不支持动态擦写保存,对于系统需要动态保存的数据采用虚拟RAM盘的方法进行处理(RAM盘采用ext2/ext3文件系统)。  2.initramfs文件系统[2]。initramfs是在2.5版本内核中引入的技术,它的基本思想是:在内核镜像中附加一个

7、cpio包,cpio包中包含了一个小型的文件系统,当内核启动时,内核将cpio包解开,并且将其中包含的文件系统作为初始的根文件系统,内核中的一部分初始化代码会放到这个文件系统中作为用户层进程来执行。这样带来的明显的好处是精简了内核的初始化代码,例如寻找真正的启动盘、启动时的网络安装、ACPI的安装等,这些代码都可以从内核中移出,把它们都转移到用户空间完成,这样使得开发者在用户层就可以定制自己的启动过程,而不需要去修改内核代码,使定制启动过程变得更加容易。  2.2.开发环境的建立  1.建立交叉编译环境

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

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

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