首页 > 技术文章 > 手机研发 > 软件 > 嵌入式系统 Boot Loader 技术内幕(4)

嵌入式系统 Boot Loader 技术内幕(4)

52RD.com 2005年9月22日 詹荣开            评论:1条 查看 我来说两句

四. 关于串口终端


在 boot loader 程序的设计与实现中,没有什么能够比从串口终端正确地收到打印信息能更令人激动了。此外,向串口终端打印信息也是一个非常重要而又有效的调试手段。但是,我们经常会碰到串口终端显示乱码或根本没有显示的问题。造成这个问题主要有两种原因:(1) boot loader 对串口的初始化设置不正确。(2) 运行在 host 端的终端仿真程序对串口的设置不正确,这包括:波特率、奇偶校验、数据位和停止位等方面的设置。

此外,有时也会碰到这样的问题,那就是:在 boot loader 的运行过程中我们可以正确地向串口终端输出信息,但当 boot loader 启动内核后却无法看到内核的启动输出信息。对这一问题的原因可以从以下几个方面来考虑:

(1) 首先请确认你的内核在编译时配置了对串口终端的支持,并配置了正确的串口驱动程序。

(2) 你的 boot loader 对串口的初始化设置可能会和内核对串口的初始化设置不一致。此外,对于诸如 s3c44b0x 这样的 CPU,CPU 时钟频率的设置也会影响串口,因此如果 boot loader 和内核对其 CPU 时钟频率的设置不一致,也会使串口终端无法正确显示信息。

(3) 最后,还要确认 boot loader 所用的内核基地址必须和内核映像在编译时所用的运行基地址一致,尤其是对于 uClinux 而言。假设你的内核映像在编译时用的基地址是 0xc0008000,但你的 boot loader 却将它加载到 0xc0010000 处去执行,那么内核映像当然不能正确地执行了。

5. 结束语
Boot Loader 的设计与实现是一个非常复杂的过程。如果不能从串口收到那激动人心的"uncompressing linux.................. done, booting the kernel……"内核启动信息,恐怕谁也不能说:"嗨,我的 boot loader 已经成功地转起来了!"。

关于作者
詹荣开,研究兴趣包括:嵌入式 Linux、Linux 内核、驱动程序、文件系统等。您可以通过 zhanrk@sohu.com连系他。
(52RD.com)
读取...
顶一下
 更多软件资源 到软件论坛讨论
·热门文章 HOT
·手机充电器电路原理图及充电器的安全...
·功率放大器设计的关键:输出匹配电路...
·SD和MMC记忆卡介面技术
·uClinux下Nor Flash的JFFS2文件系统...
·新手必读:关于Linux,你所不了解的...
·手机结构设计经验总结
·Windows Mobile 5.0 模拟器
·移动终端天线设计技巧
·手机结构设计指南之总体设计
·手机结构设计的一般准则
·智能手机:下一代嵌入式系统的界面
·使用ADS1.2进行嵌入式软件开发(上)
·EMI防治技巧与挑战
·Windows CE 模拟器和远程调试工具
·未来手机功能的重大改进 (英)
·嵌入式系统 Boot Loader 技术内幕(1)
·天线收发技术、构型设计动向
·SolidWorks及其相关系列产品
·诺基压8801 EDGE手机拆解
·Pocket PC/Smartphone软件安装包之制...
·精彩评论 HOT
·赞助商链接 SUPPORT
·相关文章 CORRELATION
·嵌入式系统 Boot Loader 技术内幕(3)[9-22]
·嵌入式系统 Boot Loader 技术内幕(2)[9-22]
·嵌入式系统 Boot Loader 技术内幕(1)[9-22]
·特别推荐 RECOMMEND
·评  论 COMMENT
1楼 GUO429486717 发表于 2008-8-31 20:34
  好 
怎么才学好软件呢
共有评论1篇 查看所有评论
推荐朋友 打印本页