新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于AT91RM9200的ARM Linux的移植方法

基于AT91RM9200的ARM Linux的移植方法

作者:时间:2012-04-11来源:网络收藏

4. 内核的下载和执行

要想使目标板的系统脱离交叉开发环境,直接在目标机上本地启动运行,必须通过U-boot将U-boot映像,内核映像和RAMDISK 映像烧写到FLASH中,因为使用U-boot引导程序需要使用U-boot格式的内核映像和RAMDISK映像,可以通过以下命令来实现:
($U-BOOT-PATH)/tools /mkimage -A arm -O linux -T kernel -C gzip –a 0x20008000 -e 0x20008000 –n “linux-2.4.19”-d linux.bin.gz uImage
($U-BOOT-PATH)/tools/mkimage-A arm -O linux -T ramdisk -C gzip –a 0x21100000 -e 0x21100000 –n “RAMDISK”-d ramdisk.bin ramdisk

通过U-boot将uImage和ramdisk烧写到flash相应的分区中去,烧写到flash相应分区的地址如图7所示:烧写完毕后设置u- boot的环境变量,让系统自动启动,系统复位后,系统就可以完全自动从本地flash启动了,启动后,进行地址映射,u-boot会把u- boot压缩映像,kernel压缩映像,ramdisk压缩映像全部拷贝到SDRAM的相应地址,SDRAM的映射地址如图8所示,这时系统完全在SDRAM中运行了,Linux系统真正启动起来了。

5. 总结

本文根据一个特定的目标平台,结合的开发经验,详细介绍了将Linux构建的嵌入式系统上的主要技术和整个流程,实现了Linux 向目标系统后的操作系统在目标板上运行稳定,并且可以根据实际需要编写相应的控制程序,将其应用于实际工业控制中。掌握这些技术,对于开发嵌入式系统十分重要,对开发其他类型的嵌入式系统同样具有参考意义。

本论文作者创新点:从软件与硬件的相互关系, 硬件对软件的制约、硬件对软件的支持这个角度对裁减和移植进行了分析,同时在Bootloader(启动代码)的移植,Kernel(内核)的裁减和移植过程中,把代码分成了两部分,一部分是和硬件相关的部分,一部分是和硬件无关的部分,这样做不仅思路清晰,而且可以大大减少工作量。

参考文献:
[1] 许先斌, 熊慧君, 李渊, 杨芬. 9 的嵌入式Linux开发流程的研究[J]微计算机信息. 2006,11:87-90
[2] 刘振纲,刘成安,卢剑翔. 移植标准Linux 到S3C2410[J] 微计算机信息.2006,32:152-154
[3] 罗致,王仲东. Linux在平台上的移植.软件技术,2006年第25卷第1期
[4] 李明,ARM Linux的移植过程及分析[J ].电子设计应用, 2003,7
[5] 刘峥嵘等编著,嵌入式Linux应用开发详解[M].北京:机械工业出版社,2004. 7

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭