am335x的启动分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了am335x的启动分析相关的知识,希望对你有一定的参考价值。

参考文件:Sitara AM335x Bootload的流程分析

am335x上电后从Rom code开始运行,Rom code 地址0x4000_0000。
Rom code 是固化在芯片的一个引导程序,具体参见《AM335x and AMIC110 Sitara. Processors Technical Reference Manual》第26章。

Rom code运行后,根据sysboot引进配置,去遍历启动列表,寻找启动Image。启动列表主要分为存储器件和外设。从存储器件启动,启动Image需要有Image标头,标头含有入口地址和Image大小。
sysboot配置,SYSBOOT[4:0] = 10011,那么启动顺序为 NAND->NANDI2C->MMMC0->UART0。
技术分享图片
上电后,串口输出8个“C”,即是Rom code程序跳转到UART启动了。

AM335X中内部RAM的大小为128KB,其中最后18KB由ROM代码使用。此外,启动时1 KB(0x402f0000 - 0x402f0400)无法访问,所以限制了U-Boot的大小为109KB以内。无法再109KB完成U-Boot的所有功能,那就将u-boot分成2部分。
MLO文件——初始化所需的引导设备(NAND,MMC,I2C等)。
U-Boot.img——初始化所有其他设备。U-boot.img在u-boot.bin基础上添加头信息后,可用被MLO引导。

以上是关于am335x的启动分析的主要内容,如果未能解决你的问题,请参考以下文章

am335x uboot启动流程分析

am335x uboot 点亮LED

AM335x(TQ335x)学习笔记——挂载Ramdisk

Am335x SD卡 启动制作

Am335x u-boot 启动过程中的系统频率配置

AM335x系列UBIFS报错分析及解决方法