目录
I.MX6U 支持多种启动方式以及启动设备,比如可以从 SD/EMMC、NAND Flash、QSPI Flash等启动
1 启动方式
在 I.MX6U 芯片上电以后,根据 BOOT_MODE[1:0]的设置来选择 BOOT 方式,BOOT_MODE[1:0]有两种方式更改:
① 改写 eFUSE(熔丝),只能修改一次
② 修改相应的 GPIO 高低电平(默认为0,引脚BOOT_MODE1 和 BOOT_MODE0 )

共有四种 BOOT 模式,一般情况下只会用到串行下载和内部BOOT模式

1.1 串行下载
通过 USB 或者UART 将代码下载到板子上的外置存储设备中,使用 OTG1这个USB口向开发板上的 SD/EMMC、NAND 等存储设备下载代码,需要用到 NXP 提供的软件(通过串口将boot、内核镜像、设备树、文件系统下载到SD/EMMC、NAND等存储设备上)
1.2 内部 BOOT 模式
芯片会执行内部的 boot ROM 代码,这段 boot ROM 代码会进行硬件初始化(一部分外设),初始化参数在烧录的bin 文件前面添加的数据头,然后从 boot 设备(就是存放代码的设备、比如 SD/EMMC、NAND)中将代码拷贝出来复制到指定的 RAM 中,一般是 DDR
1.3 BOOT ROM 初始化内容
① 初始化时钟,内核时钟(主频): 396Mhz

② 使能mmu和cache
内部 boot ROM 为了加快执行速度会打开 MMU 和 Cache,下载镜像的时候 L1 ICache 会打开,验证镜像的时候 L1 DCache、L2 Cache 和 MMU 都会打开。一旦镜像验证完成,boot ROM就会关闭 L1 DCache、L2 Cache 和 MMU