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 ,这里有一张流程图:
这个流程图是一个大概得流程,总结一下就是:
(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 ,这里有一张流程图:
这个大概就是这样子,其实跟前边学习STM32的时候那个流程是很类似的。