iMX6ULL启动流程
iMX6ULL启动流程
- 1. Boot ROM
- 2. IVT和DCD
- 3. 启动流程
- 4. 总结
我移植的板子是讯为的TERMINATOR_V1.1开发板,参考板为官方 i.MX6ULL EVK开发板。
- iMX6ULL uboot2021.04 linux5.15.32移植
- iMX6ULL启动流程
- iMX6ULL u-boot2021.04移植
- iMX6ULL linux5.15.32移植
- iMX6ULL buildroot-2022.02.5构建根文件系统
1. Boot ROM
我们知道ARM的启动地址是0地址,查看手册可知iMX6ULL的0地址是Boot ROM区域,Boot ROM区域的程序是上电运行的第一个程序即BL1。但是DDR的地址是在0x80000000处,我们的程序是存储在SD卡或EMMC等设备上,Boot ROM可根据我们的启动配置选择从不同的存储介质上加载并启动程序。
Boot ROM可以根据BOOT_MODE[1:0]两个选择启动模式,00生产的时候可能会用到,01串行下载模式调试uboot非常有用,10内部Boot模式可选择从不同的介质启动。
在internal boot模式下可以通过配置BOOT_CFG1[7:4]这四个值选择不同的介质启动,选择了不通的介质还需要配置其他的值配置不同的参数,这里不一一介绍下面以EMMC为例简要说明。
比如使用EMMC还有一些重要的参数需要选择,比如需要选择eSDHC1、eSDHC2那个接口,在我们的板子上这两个分别对应SD卡和EMMC。
到这里Boot ROM就可以根据配置去加载我们的uboot运行,Boot ROM把uboot加载到什么地址去运行,这是我们接下来要考虑的问题。
2. IVT和DCD
IVT全称镜像向量表(Image Vector Table),IVT包括程序镜像入口点、指向设备配置数据(DCD)的指针和ROM在引导过程中使用的其他指针。Boot ROM定位IVT在启动设备一个固定的地址,不同启动设备地址不同如下表。
IVT头的结构如下图,uboot在编译的时候会把IVT加在uboot的前面,这部分可以在uboot的tools目录下找到这个生成工具的源码。
DCD全称是设备配置数据(Device Configuration Data),Boot ROM可以根据这部分数据对设备做简单的配置,在uboot板级文件夹中的imximage.cfg
文件中可以进行配置。
3. 启动流程
通过上述的介绍我们知道了iMX6ULL的启动过程,首先是Boot ROM根据配置(一般是引脚配置)选择启动设备,根据IVT加载启动uboot,然后uboot引导启动linux kernel,最后linux启动挂载根文件系统。
- Boot ROM加载并启动uboot
- uboot引导并启动linux kernel
- 根文件系统启动
知道了启动的过程就清楚我们每个阶段的目的和要做什么,对我们之后的移植有帮助,便于分析问题。
4. 总结
简单了解imx6ull的启动过程,对后面的移植和分析问题有帮助。本文仅供学习参考,如有问题欢迎指正。
iMX6ULL启动流程相关推荐
- 3_IMX6ULL启动流程
第三章 IMX6ULL启动流程 3.1 IMX6ULL启动方式 3.1.1 芯片手册讲解 IMX6ULL芯片内部有一个boot ROM,上电后boot ROM上的程序就会运行.它会根据BOOT_M ...
- IMX6ULL学习笔记(四) —— uboot 启动流程
IMX6ULL 学习笔记 version : v1.0 「2023.4.27」 author: Y.Z.T. 摘要: 随记, 记录 I.MX6ULL 系列 SOC 的uboot 启动流程 ⭐️ 目录 ...
- 万事开头难 - 介绍IMX6ULL启动方式
不同开发板,启动方式不一样,今天我们来介绍imx6ull开发板的启动方式,这非常重要.若不了解清楚启动方式,后面的所有开发工作便无从谈起. 本文摘自100ask_imx6ull 开发板 配套学习手册- ...
- U-BOOT启动流程【03】
前言 第一次学u-boot启动流程的时候我也是一头雾水,当然啦看一遍留个大概印象就好! 要想都学透的话也要花费很大的时间精力 本系列blog分三次写.本节讲最后一讲 在虚拟机中我的Vcode比较卡,所 ...
- 【正点原子Linux连载】第三十二章 U-Boot启动流程详解 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...
- 韦东山 IMX6ULL和正点原子_万事开头难 - 介绍IMX6ULL启动方式
不同开发板,启动方式不一样,今天我们来介绍imx6ull开发板的启动方式,这非常重要.若不了解清楚启动方式,后面的所有开发工作便无从谈起. 本文摘自100ask_imx6ull 开发板 配套学习手册- ...
- 源码分析-Activity的启动流程
以android 6.0源码为参考,其他版本api会稍有不同 在Activity中,启动一个Activity的方法 @Override public void startActivity(Intent ...
- Centos 6启动流程详解
author:JevonWei 版权声明:原创作品 Centos6 启动流程 POST开机自检 当按下电源键后,会启动ROM芯片中的CMOS程序检查CPU.内存等硬件设备是否正常运行,CMOS中的程序 ...
- 2014.4新版uboot启动流程分析
原文 http://blog.csdn.net/skyflying2012/article/details/25804209 此处转载有稍作修改 最近开始接触uboot,现在需要将2014.4版本ub ...
最新文章
- 一篇价值百万的文章:我为什么在22岁辞去年薪150万的工作?
- 一举拿下高可用与分布式协调系统设计!
- php mysql模糊查询数组,php – 使用数组的MySQL查询
- UVA 10519 !! Really Strange !!
- 【数据库】PLSQL Developer出现ORA-12541TNS no listener错误解决方法
- JSF 2.2: HTML5 Support
- 早上起来CSDN的PC端主页积分变成了0
- mysql的每隔1分钟定时_深入研究MySQL(四)、备份与恢复
- PPC丢失后,手机信息如何保护?(C#)
- 老罗锤子手机公布会,我感到深深地愧疚
- WPF的prism框架
- windows下解压tar.gz文件
- froala富文本编辑器的使用
- 【Bzoj2242】计算器
- 手把手教你用python实现批量给图加水印
- 我失业了,公司与我解除劳动合同关系
- Excel打开时提示“因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。”最快的解决办法
- 这款pubMed文献爬虫下载器,妥妥的科研利器
- 分布式服务管理框架-Zookeeper客户端zkCli.sh使用详解
- 华三无线设备系列 (瘦AP转胖AP的配置方法)