BeagleBoard C5构建u-boot

时间:2012-07-05 16:32:36

标签: embedded-linux beagleboard toolchain u-boot

我正在尝试为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图像?

1 个答案:

答案 0 :(得分:2)

您的第一步应该是研究电路板的启动顺序。某些处理器无法直接启动到u-boot。他们启动了一个存储在Flash中的应用程序,或者可能是板上的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调试器,您可以使用它来设置硬件断点并逐步执行代码?