正点原子Mini Linux—I.MX6U启动方式
顺着昨天的学习,今天学习了I.MX6U的启动方式,知道了6ULL支持多种启动方式,可以通过拨动拨码器来改变启动方式和改变启动设置。
1、启动方式选择
I.MX6ULL的启动方式如下:
这里只是用了第二和第三种方式(于FUSE只能设置一次,这里不使用)
BOOT_MODE[1:0] | BOOT类型 |
---|---|
00 | FUSE |
01 | 串行下载(通过USB或者UART) |
10 | 内部BOOT模式 (通过SD、EMMC、NAND等设备) |
11 | 保留 |
2、启动设备的选择
(前提先要设置好启动方式)
通过BOOT_CFG选择、有BOOT_CFG1,2,4,每个8位,共24位IO对应LCD的24根数据线
大部分IO已经接地,只需关注剩下的BOOT_CFG2[7:0]和BOOT_CFG1[7:0]这16个IO,如图,是拨码开关操作的具体IO和不同启动设备选择的方法:
3、镜像烧写
I.MX6U不能直接烧写编译生成的.bin文件,需要在bin文件前添加一些头信息构成最终满足烧写条件的文件,这些头文件由三部分组成:
①、IVT 8条内容,32字节
②、Boot data 3条内容,12字节
③、DCD
具体的头信息存放内容可以参考开发指南,这里提几个理解时的重要知识点:
1、SD卡烧录时,头信息共占3kb的大小,这需要在bin文件之前,而bin文件烧写之后的起始地址是0x87800000,所以头信息的起始地址为0x87800000-3072=0x877FF400。
2、头信息占的3kb大小之外,还有1kb的偏移,该偏移以SD卡扇区大小为准。
3、读命令时注意大端格式保存的内容。