最近,我弄清楚了我一直在与运行U-boot(一个开源的Bootloader)的Atmel AT91SAM9G20 SBC一起工作的一个令人讨厌的错误的原因。问题的核心是U-boot期望配置的硬件与我构建的硬件不同,因此某些设备寄存器的配置不正确。
现在,我已经解决了问题,我需要调整U-boot以正确配置寄存器。我可以通过在程序末尾添加几行代码来盲目地执行此操作,但这很麻烦。
这使我想到了一个问题:与从main()开始并读取所有文件中所有可能的代码路径相比,我如何找出U-boot的工作效率更高?我试着在文件中四处寻找,并查看相关标识符附近的代码。事实证明这是无效的;似乎大多数代码是我不在乎的子系统的驱动程序。我实际上已经了解了引导加载程序到现在的运行情况,但是我希望有一种比我幼稚的方法更好的方法。
您是否尝试过在uboot开发人员邮件列表中询问?
—
sybreon 2010年