LV04-01-IMX6ULL启动流程-02-启动流程

本文主要是I.MX6ULL启动流程——启动流程的相关笔记,若笔记中有错误或者不合适的地方,欢迎批评指正😃。

点击查看使用工具及版本
Windows版本 windows11
Ubuntu版本 Ubuntu16.04的64位版本
VMware® Workstation 16 Pro 16.2.3 build-19376536
终端软件 MobaXterm(Professional Edition v23.0 Build 5042 (license))
Linux开发板 正点原子 i.MX6ULL Linux 阿尔法开发板
uboot NXP官方提供的uboot,NXP提供的版本为uboot-imx-rel_imx_4.1.15_2.1.0_ga(使用的uboot版本为U-Boot 2016.03)
linux内核 linux-4.15(NXP官方提供)
Win32DiskImager Win32DiskImager v1.0
点击查看本文参考资料
分类 网址 说明
官方网站 https://www.arm.com/ ARM官方网站,在这里我们可以找到Cotex-Mx以及ARMVx的一些文档
https://www.nxp.com.cn/ NXP官方网站
https://www.nxpic.org.cn/NXP 官方社区
https://u-boot.readthedocs.io/en/latest/u-boot官网
https://www.kernel.org/linux内核官网
点击查看相关文件下载
分类 网址 说明
NXP https://github.com/nxp-imx NXP imx开发资源GitHub组织,里边会有u-boot和linux内核的仓库
https://elixir.bootlin.com/linux/latest/source 在线阅读linux kernel源码
nxp-imx/linux-imx/releases/tag/rel_imx_4.1.15_2.1.0_ga NXP linux内核仓库tags中的rel_imx_4.1.15_2.1.0_ga
nxp-imx/uboot-imx/releases/tag/rel_imx_4.1.15_2.1.0_ga NXP u-boot仓库tags中的rel_imx_4.1.15_2.1.0_ga
I.MX6ULL i.MX 6ULL Applications Processors for Industrial Products I.MX6ULL 芯片手册(datasheet,可以在线查看)
i.MX 6ULL Applications ProcessorReference Manual I.MX6ULL 参考手册(下载后才能查看,需要登录NXP官网)

一、引导流程

这一部分我们参考一下《i.MX 6ULL Applications Processor Reference Manual 》的 8.2.2 High-level boot sequence ,这里有一张流程图:

image-20230716093516323

这个流程图是一个大概得流程,总结一下就是:

(1)检查 CPU ID.

(2)检查 Reset Type,冷启动、唤醒的启动过程是不一样的。

(3)检查启动模式 BOOT_MODE,检查 eFUSE 或 GPIO。

(4)根据上述检查从 USB 口、 UART 口或是某个启动设备下载 boot image。

(5)认证 image。

(6)启动 。

对于具体的启动设备,《i.MX 6ULL Applications Processor Reference Manual 》的《Chapter 8: System Boot》中有对应章节描述更为细致的启动流程。基本上就是对这些启动设备根据 eFUSE或 GPIO 的设置进行初始化,尝试更高的工作频率等。

二、串行下载流程

这一部分我们参考一下《i.MX 6ULL Applications Processor Reference Manual 》的8.2.4 Serial Downloader ,这里有一张流程图:

image-20230716094036119

这个大概就是这样子,其实跟前边学习STM32的时候那个流程是很类似的。