嵌入式系统搭建过程中,对于系统平台搭建工程师最初的一步通常是移植Bootloader ,当然移植有几个级别,通常最常见的是参考的EVM 的硬件有了修改(如更改了FLASH ,更改了SDRAM 、DDR SDRAM 等),并且是初次调试硬件,更大的困难是公司为节省成本不打算买上万的EVM 开发板,或者EVM 开发板需要license 才能购买,这时移植Bootloader 是比较难做的,不过也不是没有方法,最有效的有两个--点灯和串口打印 。(作者通过这种方法调试成功过IXP2400(Xscale) 的Redboot 、EP9307(ARM9) 的U-boot 等Bootloader )。
Bootloader 调试技术- 点灯 ,当烧写好Bootloader ,启动Bootloader ,肯定是从一个固定的地址开始执行程序,最初的程序是从FLASH 中读取执行的,有些处理器是直接使用FLASH 地址,有些会影射到FLASH 地址,此时SDRAM 可以认为没用到,如何确认程序有没有直接执行,通常用点灯来验证,在Bootloader 入口代码段尽量靠前初添加点灯代码(使用GPIO 控制),跟踪代码的执行,如果确认点灯代码没问题,程序没执行,那可能是启动地址没有指向FLASH 地址,硬件晶振没起振,硬件IC 电源供电问题,硬件IC 引脚接地问题,CPU 配置字问题(如启动模式),CPLD 时序调节问题等等,这需要硬件和