本文内容参考http://blog.youkuaiyun.com/zy812248258/article/details/39120799以及http://jexbat.com/2016/BeagleBone-Image/,在此向作者表示感谢。
(A)从 AM335x 的启动流程可知,如果需要从UART启动 U-Boot,方法如下。
(B)从 AM335x 的启动流程可知,如果需要从MMC/SD启动 U-Boot,有FAT和RAW两种模式。下面对其分别介绍。
(1)FAT启动模式
在FAT 启动模式下,当按住BBB板子上的boot按键,板子便从SD卡(也就是mmc0)启动,此时ROM-Code从SD卡的一个活动主分区(boot分区)寻找SPL文件,将其加载到片内SRAM,控制权移交SRAM,之后SPL运行后又以和寻找SPL相同的方式开始寻找u-boot.img文件,于是从boot分区找到u-boot.img文件,并将其加载到片外SDRAM,之后u-boot加载内核,挂载根分区的根文件系统(rootfs分区)。系统启动!
早期的 BeagleBone Black 映像会采取FAT启动模式,即把 MLO 和 u-boot.img 放在活跃主分区(active primary partition)的 FAT 文件系统的根目录里。SD 的映像会包含两个分区,一个 FAT32 分区和一个 Linux ext3/4 分区。
全功能的第二阶段 U-Boot 会包含硬编码的环境变量(即默认的环境变量),其位于include/c