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



相关推荐
彭泽布衣3 分钟前
gdb调试方法总结
linux·c语言·gdb·故障排查·段错误
KL's pig/猪头/爱心/猪头4 分钟前
写一个rv1106的gpio输入驱动(带中断)
linux·驱动开发·rv1106
Calebbbbb25 分钟前
Windows 向 Vmware Ubuntu 传大文件校验不一致问题完整排查记录
linux·windows·ubuntu
被遗忘的旋律.29 分钟前
Linux驱动开发笔记(二十四)——(下)IIO + MPU6050驱动
linux·驱动开发·笔记
optimistic_chen42 分钟前
【Redis系列】Redis缓存
linux·数据库·redis·mysql·缓存·火山引擎
我想发发发1 小时前
.deb格式软件包安装方式(Ubuntu 22.04为例)
linux·运维·ubuntu
cyber_两只龙宝1 小时前
LVS-NAT模式实验配置以及详解
linux·运维·云原生·lvs
海涛高软1 小时前
vmware虚拟机 ubuntu20.4手动设置静态IP
linux·运维·服务器
学嵌入式的小杨同学1 小时前
【嵌入式 C 语言实战】栈、队列、二叉树核心解析:存储原理 + 应用场景 + 实现思路
linux·c语言·网络·数据结构·数据库·后端·spring
VekiSon1 小时前
ARM架构——时钟系统与定时器详解
linux·c语言·arm开发·嵌入式硬件·架构