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



相关推荐
赖small强1 小时前
【蓝牙】BLE 数据收发实战指南(手机 App ↔ 嵌入式 Linux/BlueZ)
linux·蓝牙·bluez·bluetoothctl·dbus-monitor·central·peripheral
wit_yuan1 小时前
linux udp广播数据包实际用例
linux·服务器·udp
大聪明-PLUS1 小时前
io_uring:Linux 上的高性能异步 I/O
linux·嵌入式·arm·smarc
qq_479875431 小时前
Linux time function in C/C++【2】
linux·c语言·c++
小武~2 小时前
嵌入式网络编程深度优化 --网络协议栈配置实战指南
linux·网络·网络协议
二进制星轨2 小时前
在 Ubuntu 上快速配置 Node.js 环境(附问题说明)
linux·ubuntu·node.js
kblj55552 小时前
学习Linux——网络——网卡
linux·网络·学习
Physicist in Geophy.2 小时前
新版ubuntu中sac安装问题(缺少libncurses5)
linux·运维·ubuntu
菲兹园长2 小时前
微服务组件(E、L、N、O、G)
linux·服务器·gateway
xier_ran3 小时前
Python从入门到精通:(2)Python 核心进阶教程从数据结构到面向对象
linux·windows·python·microsoft