前段时间使用TI的am4378芯片,发现系统在SD卡启动的时候,启动文件使用的是MLO和uboot.img;而Norflash和eMMC启动的时候使用的是 uboot-spl.bin和uboot.bin,有如下疑问:

1. MLO和Uboot-spl.bin有什么区别?uboot.img和uboot.bin有什么区别?

2. 为什么后者需要Norflash再配合eMMC,而不是直接eMMC?

---------------------------------------------------------------------------------------------

For MLO use the spl/u-boot-spl.bin file. The difference between u-boot-spl.bin and MLO is that u-boot-spl.bin does not contain header information. Peripheral boot needs an MLO without header

理解:MLO只是比uboot-spl.bin多个Header,如果没记错的话是叫GP Header。但是问题是MLO和uboot-spl.bin是分开编译,分别使用不同的config文件,所以MLO只是简单的在uboot-spl.bin上加1个Header不成立,否则一次做完即可。

u-boot.bin is the binary compiled U-Boot bootloader.

u-boot.img contains u-boot.bin along with an additional header to be used by the boot ROM to determine how and where to load and execute U-Boot.

The way in which these files are deployed can depend upon the nature of your device, its boot ROM and where the files are loaded from.

Boot ROMs are generally provided by the SoC/CPU vendor.

  • These days, many boot ROMs are capable of loading u-boot.img, reading the file's header, loading u-boot.bin into memory and finally executing it.
  • Some boot ROMs are complex enough to load u-boot.bin directly or even the OS kernel.
  • While others may load an intermediate bootloader (MLO/X-Loader) first which then takes responsibility for loading U-Boot as the secondary bootloader once external memory is initialized.

This image depicts the latter case as implemented by some TI OMAP processors: 

This boot process is reduced by some devices by moving many of the X-Loader tasks into U-Boot and placing boot parameters (such as memory addresses) into the header of u-boot.img avoiding the need for an intermediate bootloader.

You will need to investigate the properties of your device to determine how you should go about deploying U-Boot.

理解:uboot.img只是比uboot.bin多了个头,而这个头包括了如何/从哪里执行这个uboot. uboot.bin一般是按照具体地址烧写,而uboot.img则包含地址等信息,无需按照地址下载,所以这个也决定了uboot.bin适用于Norflash,而uboot.img更适合SD卡。

最新文章

  1. iOS static
  2. IOS登陆+注册+抽奖+排行榜
  3. iis到w3wp的数据流及工作原理
  4. jni学习
  5. Python核心编程-基础2
  6. java批量插入或更新的问题
  7. 【AsyncTask整理 1】 AsyncTask几点要注意的地方
  8. C#下解决DrawImage画出来的Image变大了的问题
  9. AbstractFactory 模式
  10. 基于HCE移动支付研究报告
  11. iOS开发之C语言函数库
  12. VR元年,VR虚拟现实这只风口上的猪有怎样的变化?
  13. 201521123008《Java程序设计》第11周学习总结
  14. 第一周Python讲课内容--日记
  15. JAVA基础第五章-集合框架Map篇
  16. VS OpenCV imread imwrite nameWindow等相关报错问题
  17. 第五篇Scrum冲刺博客
  18. mongodb遇到的问题
  19. js中数组相关的Api
  20. Service里边启动Activity注意事项

热门文章

  1. 初始小R-安装启动与测试
  2. 一些C++11语言新特性 - Uniform Initialization
  3. 15个重要Python面试题 测测你适不适合做Python?
  4. Javascript的解析器
  5. ant design pro(一)安装、目录结构、项目加载启动【原始、以及idea开发】
  6. excel 获取中文拼音首字母
  7. spring spel表达式语言
  8. Centos网络时好时超时问题解决
  9. git eclipse 不标记修改后的文件(没有图标标明)
  10. operator new 和 operator delete 实现一个简单内存泄漏跟踪器