我正在尝试为我的BeagleBoard C5板成功构建u-boot。我使用的是Ubuntu 10.04和Crosstool-NG工具链。我有Xloader (MLO)、u-boot.bin和uImage的工作映像,我发现这些映像是从AngstromBB项目中预先构建的,对于这些项目,主板可以成功地引导Angstrom。
我可以通过执行以下操作成功构建u-boot.bin文件:
git clone git://git.denx.de/u-boot.git u-boot/
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- omap3_beagle_config
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- 然后,我复制我刚刚构建的u-boot.bin来替换SD卡上u-boot.bin的工作版本,并尝试引导该板,但由于挂起以下位置而失败:
Reading boot sector
Loading u-boot.bin from mmc它将永远留在那里!我似乎找不到任何关于为C5 BeagleBoard构建u-boot的明确说明,除了它与以前的版本不同,或者需要使用u-boot构建的名为“SPL”的东西。有人知道我如何成功地为BeagleBoard C5构建自己的u-boot.bin镜像吗?
发布于 2012-07-10 01:50:43
您的第一步应该是研究主板的启动顺序。某些处理器不能直接引导至u-boot。他们启动一个应用程序,该应用程序存储在闪存中,也可能是电路板上的EEPROM。对于您的C5,此应用程序是X-Loader (https://gitorious.org/x-loader)。您需要了解这个1级引导加载程序的作用以及它是如何启动u-boot的。通常他们会做一些基本的PSC,DRAM,...配置,然后启动完整的引导加载程序。但是它在哪里寻找u-boot呢?X-Loader是否将u-boot复制到RAM并从那里开始执行?或者它是从MMC开始执行的?有时可以设置跳线来控制引导顺序。因此,X-Loader可以从NAND、NOR或SD/MMC启动,具体取决于设置。
你的u-boot源代码是从哪里来的?你是直接从denx网站下载的,还是你的Beagle冲浪板上提供的?
一般来说,在没有工具的情况下调试一个板(即使它是一个参考板)是非常困难的。主板是否提供了调试器,或者您是否有自己的JTAG调试器,可以用来设置硬件断点和单步执行代码?
https://stackoverflow.com/questions/11348684
复制相似问题