BootLoader 调试
如果浪费太多的时间在 BootLoader 的开发与调试上,将会严
重影响开发人员对于系统稳定性、设备软件与应用开发的精力投入。
因此,开发人员应当借助于先进的工具,尽快逾越这个阶段。
Linux 需要依靠 BootLoader 来启动操作系统。这段代码存放
在 Flash 或者其他非易失性(存储器)之中,在系统开机或者复位
之后立即运行。BootLoader 的调试可能会非常复杂。这段代码与
硬件密切相关,在系统启动之后开发人员必须把它从 Flash 存储重
新定位到(RAM)之中。在今天的 SoC 处理器中可能包括了数百个
配置(寄存器),都需要在此时进行初始化,这项工作需要熟悉数
千页的特殊设定文档。如果设定寄存器错误,可能导致随后 Linux
内核或者应用调试的异常。并且手工编辑寄存器设定是一项极为繁
琐易错的工作。
BootLoader 开发的另一项常见挑战出现在 BootLoader 把
Linux 装入 RAM 并启动操作系统的时候。基于代理的调试解决方案
不支持 BootLoader 调试,因为在此过程中还没有开始发挥作用。
因此,开发人员只能寄希望于 JTAG 工具。
JTAG 调试解决方案提供了很强的能力来帮助开发人员快速有效
地完成 BootLoader 的(测试)与故障排除工作。它使寄存器设置
工作大大简化,通过设置硬件断点以及单步执行 Flash 中的代码,
可以快速发现原代码中的错误。IDE 可以支持反汇编,还可以让你
混合查阅源代码和汇编代码,符号管理功能比较便于代码从 Flash
向 RAM 的重新定位,使整个调试工作得到很大帮助。
JTAG 调试解决方案不需要通过 BootLoader 即可装载 Linux
评论0
最新资源