我开始在freescale mx5x主板上研究emebedded设备,现在我正在探索主板的boot-mods。根据所选择的boot-mod,需要正确的uboot映像。 对于mmc boot-mod,映像是uboot-no-padding.bin,它是从uboot.bin生成的。 所以,我的问题: 为什么需要no-padding uboot,两个图像之间的差异是什么?
请帮忙,谢谢
答案 0 :(得分:0)
我只是猜测,但通常uboot被放在"裸体"闪存,其中每次写入都发生在擦除块大小量子中。因此,填充uboot.bin映像以擦除块大小是有意义的。 MMC是基于闪存的,但闪存由固件管理,因此您不了解(或关心)擦除块大小,因此填充只会使图像无缘无故。
答案 1 :(得分:0)
据我所知,加载图像的SD,NAND和NOR闪存等闪存设备不接受小于特定尺寸的图像(据我所知,最小尺寸为128k)。如果生成的u-boot映像小于该阈值,则必须添加填充以便能够加载它。
我正在使用dd命令删除1k的填充,最后得到一个大小为128k的u-boot.bin,适合加载。我使用的是4GB的microSD。这是我个人的经验。请看一下这个链接。它讨论了为colibri目标构建和闪存u-boot。在第6页中,它讨论了u-boot padding。
http://antmicro.com/files/release/u-boot-colibri/U-Boot_Colibri_Manual.pdf
我希望有帮助。