1.硬件启动方式选择
①.启动方式选择
支持SD卡,SMMC,nand flash ,Nor flash。
6ULL是怎么支持多种外置flash的启动方式。手册的第八章SYSTEM BOOT详细介绍。
②.启动方式的选择
BOOT_MODE0与BOOT_MODE1,两个IO进行控制的。选择从USB启动还是BOOT启动,如果要烧写系统到开发版中可以选择USB下载,下载到SD,EMMC,NAND,SPI flash灯外置存储中。烧写完从相应的外界存储中启动系统。
通过BOOT_MODE0与BOOT_MODE1可以设置FUSE启动,串行下载,内部BOOT模式启动方式。
③.启动的过程
当BOOT_MODE1=1时木九十内部boot模式了,此时会启动boot ROM的代码执行,它首先会初始化时钟(进行Device Configure(BOOT CGF))。设置时钟会选择BT_FREQ的模式,通过不同的模式,来配置不同的时钟频率。
为了进一步加快boot ROM的执行速度会打开MMU与缓存。下载系统镜像的时候回打开一级缓存,验证镜像回同时打开二级缓存,验证完毕以后关闭一级二级缓存和MMU。
2.分析imx头部文件
头部信息里面组成
iamge vector table: IVT包含一些列的地址信息,这些信息在ROM中固定的地址中存放。包含了镜像的地址入口。不同的外部存储设备,存在不同的地方,详见手册IVT表
boot da