U-Boot的移植之(四)调试篇:下载U-Boot到目标板进行调试

本文详细介绍了如何进行U-Boot的移植调试,包括将u-boot.bin下载到目标板的启动闪存,使用硬件仿真器进行跟踪调试,以及解决调试过程中遇到的串口输出、存储器初始化和环境变量保存等问题。强调了硬件仿真器相对于软件仿真器的优势,并提供了针对特定开发板的调试技巧。
摘要由CSDN通过智能技术生成

编译完成之后,得到的几个重要文件是:

(1) u-boot.bin: 116K,原始二进制文件,用于下载到启动ROM进行系统引导;

(2) u-boot: 384KELF格式映像文件,可加载到SDRAMSRAM中进行调试;

(3) u-boot.srec: Motorola S-Records格式映像。

(4) System.map: U-Boot映像文件的符号表,各符号的链接地址。


最有效的调试方法是下载到目标板的启动闪存,使用硬件仿真器进行跟踪调试。使用SkyeyeQemu等软件仿真器不能达到真实的调试效果,尤其不能真实反映第一阶段的底层初始化过程,只适合作U-Boot的学习与研究之用。有人提出在没有硬件仿真器的情况下,使用“点灯大法(利用目标板的LED指示程序运行阶段)”进行跟踪调试,这实际上无异于盲人摸象,特别是在底层初始化阶段,一条指令就可能导致异常。也有人提出注释掉start.S中的lowlevel_init调用,将U-Boot映像加载到SDRAM中进行调试,这实际上只能对U-Boot进行功能调试,而无法跟踪U-Boot的底层初始化过程。当然,如果实在嫌烧写FLASH的速度较慢,又心疼其擦写寿命,也可以将U-Boot映像加载到片上SRAM中调试,因为U-Boot的开始一部分代码是位置无关的(除了后6个异常向量外,不过并不构成影响);这要求片上SRAM够大,因为U-Boot的映像大小约有300K400K

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值