2012-07-05 17 views
1

我想成功构建BeagleBoard C5板的u-boot。我正在使用Ubuntu 10.04和Crosstool-NG工具链。我有Xloader(MLO),u-boot.bin和uImage的工作映像,这些映像是我从AngstromBB项目中发现的,这些板子已成功导入Angstrom。BeagleBoard C5 Building u-boot

我可以通过以下操作成功打造的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替换的工作版本的u-BOOT.BIN SD卡,并试图启动板,但它挂在失败:

Reading boot sector 
Loading u-boot.bin from mmc 

它将永远坐在那里永远!我似乎无法找到任何关于构建C5 BeagleBoard的u-boot的明确说明,只是它与以前的版本不同,或者需要使用u-boot构建的名为“SPL”的东西。有谁知道我可以如何成功构建自己的BeagleBoard C5的u-boot.bin映像?

回答

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调试器,您可以使用它来设置硬件断点并逐步完成代码?

+0

谢谢我一直在做研究,似乎来自denx的最新u-boot克隆与最新的buildroot打包在menuconfig中提供'SPL'支持。据我所知,SPL(名为MLO)现在将ROM中的OMAP 1st stage loader之后的xloader替换为第二阶段引导加载程序。长话短说,从u-boot启用SPL(MLO)支持,并使用omap3_beagle defconfig进行构建,一切正常! – PhilBot 2012-07-11 00:17:57