新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于U-BOOT的S3C44B0引导装载程序的设计与实现

基于U-BOOT的S3C44B0引导装载程序的设计与实现

作者:时间:2012-05-21来源:网络收藏

⑶include/configs目录下

◆myboard.h头文件。此文件是目标板的头文件,大多数寄存器参数是在这一文件中设置完成的。为了使串口能够正常工作,需要设置正确的波特率,本嵌入式板波特率为115200bps.根据片上资源配置,修改内存映射相关参数。该头文件里还定义了的一些环境变量,这时可以不用修改,启动后可以通过setenv命令来设定。其它参数与启动操作系统内核有关,需要与内核启动参数相匹配。

⑷Makefile文件修改

在U-BOOT根目录下的makefile文件进行修改,加入:

Myboard_config:unconfig

@./mkconfig $ (@:_config=) arm myboard

其中“arm”是CPU的种类,是ARM CPU对应的代码目录,myboard是自己开发板对应的目录。

除了以上修改外,可以根据目标板和实际开发需要,添加一些其它功能支持,如以太网、LCD、NVRAM等。与串口和SDRAM调试相比,在已有的基础上,添加这些功能还是较容易的。大多只是在参考现有源码的基础上,进行一些修改和配置[5]。

4.U-BOOT编译与运行

配置好以后,进入主目录,重新编译u-boot代码,运行命令:

#make myboard_config

#make

编译成功,将生成三个文件:

u-boot——ELF格式的文件,可以被大多数Debug程序识别。

u-boot.bin——二进制bin文件,纯碎的U-BOOT二进制执行代码,不保存ELF格式和调试信息。这个文件用于烧到用户的开发板中。

u-boot.srec——Motorola S-Record格式,可以通过串口下载到开发板中。

将得到的u-boot.bin文件借住于FLASH芯片烧写工具Flashpgm通过JTAG口下载到目标板后,检查U-BOOT能否正常工作[6]。如果能从串口输出正确的启动信息,就表明移植基本成功。若没有按任意键,U-BOOT将自动加载操作系统内核和文件系统。若按下任意键,U-BOOT停止自动加载,进入U-BOOT命令行,可以输入命令进行调试。

5.结束语

本文创新点:根据U-BOOT的运行机理,在硬件资源固定,不改变框架的前提下,对与目标板硬件相关的代码进行移植,使之能够成功的引导嵌入式操作系统。通过分析引导装载程序在uclinux中的启动流程与运行机理,结合U-BOOT,设计并实现了基于X目标板上的bootloader。在移植过程中,需要对的结构和工作流程,以及相关硬件有一定的了解,灵活的选用bootloader,根据具体情况进行裁减,最大程度发挥bootloader的功能,根据嵌入式目标板与CPU等硬件配置对相关代码进行了修改。目前移植后的U-BOOT能够稳定的运行在嵌入式目标板上,并能顺利的引导嵌入式Linux系统,完全实现了设计目的,达到了嵌入式系统设计的要求。

参考文献:

1. 詹荣开.嵌入式系统技术内幕[DB/OL]. http://www.zidonghua.com.cn /news/detail.asp?id=9641

2. 孙天泽.嵌入式设计及Linux驱动开发指南[M].北京:电子工业出版社,2005.

3. 张进,姜威.U-BOOT的启动流程及移植[J].国外电子元器件,2005,5: 11-14

4. 张永强,田紫君.基于ARM的HM30C7202平台的嵌入式Linux移植[J].微计算机信息,2005

5. Karim Yagbmour.构建嵌入式LINUX系统[M].北京:中国电力出版社,2004.

6. 李程远,刘文峰,李善平.ARM Linux在EP7312上的移植[J].计算机工程与设计,2003,24970: 73-77

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


上一页 1 2 3 下一页

关键词: Bootloader U-BOOT S3C44B0

评论


相关推荐

技术专区

关闭