概述:I.MX6ULL支持多种启动方式,比如可以从 SD/EMMC、NAND Flash、QSPI Flash等启动从 SD 卡启动就需要在 bin 文件前面添加一个数据头,其它的启动设备也是需要这个数据头。
一,启动方式选择:
BOOT 的处理过程是发生在 I.MX6U 芯片上电以后,芯片会根据 BOOT_MODE[1:0]的设置来选择 BOOT 方式。BOOT_MODE[1:0]的值是可以改变的,有两种方式,一种是改写 eFUSE(熔 丝)(只能改变一次),一种是修改相应的 GPIO 高低电平。
BOOT启动方式如下:
BOOT_MODE[1:0] | BOOT类型 |
---|---|
00 | 从FUSE启动 |
01 | 串行下载 |
10 | 内部boot模式 |
11 | 保留 |
注:内部boot模式下,芯片会执行boot ROM里面的代码,对一些外设进行初始化,然后从boot设备中(就是存放代码的设备、比如 SD/EMMC、NAND)中将代码拷贝出来复制到指定的 RAM 中,一般是 DDR。
BOOT ROM初始化内容
boot rom会首先初始化时钟,主频,系统时钟,USB,总线时钟,为了加快速度,还会启动cache(高速缓存)和MMU(内存管理单元)下载镜像的时候 L1 ICache 会打开,验证镜像的时候 L1 DCache、L2 Cache 和 MMU 都会打开。一旦镜像验证完成