iMX8MM启动流程


我移植的板子是讯为i.MX8MM开发板,参考板为官方 8MMINILPD4-EVK开发板。

  1. iMX8MM uboot2021.04 linux5.15.32移植
  2. iMX8MM启动流程
  3. iMX8MM u-boot2021.04移植
  4. iMX8MM linux5.15.32移植
  5. iMX8MM buildroot-2022.02.5构建根文件系统

1. Boot ROM

iMX8MM的Boot ROM与iMX6ULL相似,上电运行的第一个程序,作用是准备下一阶段的环境并且加载启动下一阶段的程序。这里不做过多的介绍,可以看本栏iMX6ULL的启动流程简单学习,也可以参考iMX8MM的参考手册深入学习。

2. IVT和DCD

IVT和DCD是镜像向量表(Image Vector Table)和设备配置数据(Device Configuration Data),这里不做介绍。可以看本栏iMX6ULL的启动流程简单学习,也可以参考iMX8MM的参考手册深入学习。

3. 启动流程

iMX8MM的启动流程和iMX6ULL的启动流程有略微的差别,官方在iMX8MM启动过程中使用了ARM可信固件(ARM Trusted firmware,ATF)。我们抛开ATF其他的作用不说,我们的目的是启动uboot进而启动linux内核。但是我们得知道官方提供的代码iMX8MM的启动过程,对我们之后的移植和调试有帮助。
在这里插入图片描述
ATF是ARM提供的一套软件架构供用户使用,用户可进行自由选择使用。这套软件架构的启动流程为BL1->BL2->BL31/32->BL33,BL1就是Boot ROM加载并启动BL2,BL2加载BL31、BL32和BL33并启动BL31和BL32,BL33就是uboot一般由BL31或BL32启动。这个启动过程并不是绝对的,我们所移植iMX8MM并不使用ATF的BL2和BL32,替代BL2功能的是uboot的SPL,不使用BL32。我们的启动流程为Bootrom->SPL->BL31->BL33(uboot)->Linux kernel,当然nxp也提供了另外一种启动方式可以自行了解。

4. 总结

简单了解iMX8MM的启动过程,对后面的移植和分析问题有帮助。本文仅供学习参考,如有问题欢迎指正。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sonboy哦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值