微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 行业新闻动态 > 基于PowerPC处理器的uboot移植方法

基于PowerPC处理器的uboot移植方法

时间:03-23 来源: 点击:

lash、以太网、LCD、NVRAM、EEPROM、键盘、USB、PCMCIA、PCI、RTC等驱动支持

4)上电自检功能 SDRAM、Flash大小自动检测;SDRAM 故障检测;CPU型号

5)特殊功能 XIP内核引导

4 U-Boot移植过程

① 获得发布的最新版本U-Boot源码,与Linux内核源码类似,也是bzip2的压缩格式。可从U.Boot的官方网站http://sourceforge.net/projects/U-Boot上获得。

② 阅读相关文档,主要是U.Boot源码根目录下的README文档和U-Boot官方网站的DULG(The DENX U-
Boot and Linux Guide)文档(http:llwww.denx.de/twiki/bin/view/DULG/Manua1)。尤其是DULG文档,对如何安装建立交叉开发环境和解决U-Boot移植中常见问题,都一一给出了详尽说明。

③ 订阅U-Boot用户邮件列表(http://lists.sourceforge.net/lists/listinfo/u-boot-users)。当在移植U-Boot过程中遇有问题,在参考相关文档和搜索u.Boot.U ser邮件档案库(httP://SOurceforge.net/mailarchive/forum.php? forum - id=l 2898)仍不能解决时,第一时间提交所遇到的问题, 众多U-Boot开发人员会迅速排查问题,而且W.D本人很有可能会直接参与指导。

④ 在建立的开发环境下进行移植工作。绝大多数的开发环境是交叉开发环境。在这方面,DENX和MontaVi sta均提供了完整的开发工具集。

⑤ 在目标板与开发主机间接入硬件调试器。这是进行U-Boot移植应当具备且非常关键的调试工具。因为在整个U-Boot的移植工作中,尤其是初始阶段,硬件调试器是我们了解目标板真实运行状态的唯一途径。在这方面, W .D 本人和众多嵌入式开发人员倾向于使用BDI2000。一方面,其价格不如ICE调试器昂贵,同时其可靠性高,功能强大, 完全能胜任移植和调试U-Boot。另外, 网上也有不少关于BDI2000调试方面的参考文档。

⑥ 如果在参考开发板上移植U-Boot,可能需要移除目标板上已有的Boot loader。可以根据板上Boot loader的说明文档,先着手解决在移除当前Boot loader的情况下,如何进行恢复,以便今后在需要场合能重新装入原先的Boot loader。

5 U-Boot移植方法

当前,对于U.Boot的移植方法,大致分为两种。一种是先用BDI2000创建目标板初始运行环境,将U-Boot镜像文件u-boot.bin下载到目标板RAM中的指定位置,然后,用BDI2000进行跟踪调试。其好处是, 不用将Uboot镜像文件烧写到Fla sh中去。但弊端在于, 对移植开发人员的移植调试技能要求较高,BDI2000的配置文件较为复杂。另外一种方法是用BDI2000先将U-Boot镜像文件烧写到Flash中去,然后利用GDB和BDI2000进行调试。这种方法所用的BDI2000配置文件较为简单,调试过程与U-Boot移植后运行过程相吻合。即U-Boot先从Flash中运行,再重载至RAM 中相应位置,并从那里正式投入运行。唯一感到有些麻烦的就是需要不断烧写Flash。但考虑到Flash常规擦写次数基本为l 0万次左右,作为移植U-Boot, 不会占用太多的次数,应该不会为Flash烧写有什么担忧。同时,w.D本人也极力推荐使用后一种方法。笔者建议, 除非是U-BOot移植资深人士或有强有力的技术支持, 建议采用第二种移植方法。

6 U-Boot移植主要修改的文件

从移植U-Boot最小要求,U.Boot能正常启动的角度出发, 主要考虑修改如下文件。
① <目标板>.h头文件,如include/configs/nc650.h。可以是U-Boot源码中已有的目标板头文件,也可以是新命名的配置头文件;大多数的寄存器参数都是在这一文
件中设置完成的。
② <目标板>.C文件,如board/NC650/nc650.C。它是SDRAM 的驱动程序,主要完成SDRAM 的UPM 表设置, 上电初始化。
③ Flash的驱动程序,如board/NC650/flash.C。可在参考已有Flash驱动的基础上, 结合目标板Flash数据手册,进行适当修改;
④ 串口驱动,如修改cpu/mpc8xx/serial.c串口收发器芯片使能部分。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top