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



相关推荐
bosins1 小时前
将 Hyper-V 上的 Ubuntu 虚拟机内容迁移到 WSL (Windows Subsystem for Linux) 中
linux·windows·ubuntu
我星期八休息1 小时前
扩展—DNS与ICMP
linux·服务器·网络
筝筝ba2 小时前
linux 查询当前登录的用户数量
linux·服务器·网络
woniu_buhui_fei2 小时前
日常工作常用的命令(Linux+JDK)
linux·运维·服务器
振南的单片机世界3 小时前
EXTI“一线多挂”陷阱:PA0和PB0同时触发,中断函数懵了
arm开发·stm32·单片机·嵌入式硬件
coward913 小时前
全志T507 (sun50iw9p1)sunxi pinctrl 子系统实现分析
linux·嵌入式硬件
imaol13 小时前
文件编程--标准IO
linux·运维·算法
我是小灰灰吖4 小时前
解决高频率图像处理中的内存“只增不减”:glibc malloc_trim实战指南
linux·qt
小嵌同学4 小时前
Linux 内核中断处理机制详解:上半部、下半部与延迟执行策略
linux·嵌入式·bsp
breeze jiang4 小时前
TypeScript 工具类型怎么记:从 Pick、Omit 到 keyof 与 Exclude 推导
linux·ubuntu·typescript