【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 条;



相关推荐
Better Bench30 分钟前
Ubuntu aarch64 (arm64)架构开发板的Linux系统安装拼音输入法
linux·ubuntu·arm64·aarch64·拼音输入法
koddnty1 小时前
在c++中使用HOOK修改sleep函数
linux·c++
Jovin Giogic1 小时前
简明教程:记录 Ubuntu系统命令行安装TexLive,配置vscode
linux·vscode·ubuntu·latex·texlive
猫豆~1 小时前
Shell脚本部署——8day
linux·云计算
屿行屿行1 小时前
【Linux】浅析Linux内存管理机制
linux
誰能久伴不乏1 小时前
深入理解 `poll` 函数:详细解析与实际应用
linux·服务器·c语言·c++·unix
倔强的石头1061 小时前
Linux 进程深度解析(二):进程状态、fork 创建与特殊进程(僵尸 与 孤儿)
linux·运维·服务器
小李小李无与伦比2 小时前
使用Simiki,部署.md文档
linux·运维·服务器
做人不要太理性2 小时前
【Linux系统】ELF 文件格式的硬核揭秘
java·linux·服务器
怀旧,2 小时前
【Linux系统编程】12. 基础IO(下)
linux·运维·服务器