【ARM 裸机】I.MX 启动方式之启动头文件 1

接上一节:【ARM 裸机】I.MX 启动方式之启动设备的选择

2、启动头文件

当 BOOT_MODE1 为 1,BOOT_MODE0 为 0 的时候此内部 BOOT 模式,在此模式下,芯片会执

行内部的 BOOT ROM 代码,这段 BOOT ROM 代码会进行硬件初始化(一部分外设),然后从 BOOT 设备(就是存放代码的设备、比如 SD/EMMC、NAND)中将代码拷贝出来复制到指定的 RAM 中,一般是 DDR。

2.1、BOOT ROM 做什么

设置内核时钟频率为 396 MHz,使能 MMU 和 Cache,使能 MMU 和 L1 Cache 和 L2 Cache 是为了加速启动;另外还要从 BOOT_CFG 设置的存储中,读取 image,然后做相应的处理;

2.2、IVT 和 BOOT DATA

之前说,bin 文件前面会添加一个头部,我们烧写的 load.imx 文件在 SD卡上的起始地址 0x400,也就是 1024;

头部的大小是 3 KB,加上偏移的 1 KB,一共是 4 KByte,因此 bin 文件在 SD卡上的起始地址为 4096;IVT 的大小为 32 个字节,8 条;



相关推荐
jyfool1 小时前
Ubuntu 远程桌面配置踩坑实录:从 TightVNC 到 x11vnc 的折腾之旅
linux·运维·ubuntu
安当加密2 小时前
基于 RADIUS 的 Linux 服务器双因子认证:从 FreeRADIUS 到轻量级 ASP 方案的演进
linux·运维·服务器
66清小风2 小时前
服务器安装操作系统报X or window manager startup failed, falling back to mode
linux·kylin
double2li3 小时前
linux/unix 段错误捕获【续】
linux·运维·服务器·网络·unix
allway23 小时前
Linux / Unix last Command Examples
linux·运维·unix
嘿嘿嘿x34 小时前
MobaXterm 成功连接 Ubuntu 虚拟机
linux·运维·ubuntu
万能菜道人4 小时前
多次连接共享内存大小不一致在win和linux的区别
linux·运维·服务器
想要成为计算机高手4 小时前
研究 telegrip - SO100 Robot Arm Teleoperation System
arm开发·机器人·开源·具身智能·摇操·telegrip
嵌入式×边缘AI:打怪升级日志4 小时前
2.3.1 Linux 命令行介绍:Shell、PATH与第一个Hello程序
linux·运维·服务器
编码如写诗4 小时前
【k8s】arm架构从零开始在线/离线部署k8s1.34.5+KubeSphere3.4.1
arm开发·架构·kubernetes