分析I.MX6ULL芯片程序烧写和运行的重要细节

本文详细介绍了I.MX6ULL芯片的启动流程,包括BOOT_MODE的四种类型和启动设备的选择。重点讲解了当使用SD/TF卡启动时,程序的大小、存储位置以及如何制作带头部信息的.imx文件。通过mkimage工具结合配置文件生成.imx文件,并烧录到SD卡特定位置,确保芯片能正确执行程序。此外,还阐述了链接地址在DDR3内存中的选择,以保证程序和栈空间的合理分配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

仅供参考 更多具体细节参考官方数据手册

IMX6ULL 芯片内部有一个 boot ROM,上电后 boot ROM 上的程序就会运行。它会根据 BOOT_MODE[1:0]的值,
以及 eFUSE 或 GPIO 的值决定后续的启动流程。

boot ROM 上的程序功能强大,可以从 USB 口或串口下载程序并把它烧写到 Flash 等设备上,也可以从 SD 卡
或 EMMC、Flash 等设备上读出程序、运行程序。

BOOT_MODE[1:0]的值确定了 4 种启动

BOOT_MODE[1:0] BOOT 类型
00 从 FUSE 启动
01 串行下载
10 内部 BOOT 模式
11 保留

当 BOOT_MODE 设置为内部 BOOT 模式以后,可以从以下设备中启动:
1、接到 EIM 接口的 CS0 上的 16 位 NOR Flash。
2、接到 EIM 接口的 CS0 上的 OneNAND Flash。
3、接到 GPMI 接口上的 MLC/SLC NAND Flash, NAND Flash 页大小支持 2KByte、 4KByte
和 8KByte,8 位宽。
4、Quad SPI Flash。
5、接到 USDHC 接口上的 SD/MMC/eSD/SDXC/eMMC 等设备。
6、SPI 接口的 EEPROM。

官方的启动流程如下总结起来就是:
a. 检查 CPU ID
b. 检查 Reset Type,冷启动、唤醒的启动过程是不一样的
c. 检查启动模式 BOOT_MODE,检查 eFUSE 或 GPIO
d. 根据上述检查从 USB 口、UART 口或是某个启动设备下载 boot image
e.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值