I.MX6 eMMC 中启动U-boot存放的首地址

简介: /************************************************************************************ * I.MX6 eMMC 中启动U-boot存放的首地址 * 声明: * 本文是解读《I.MX6 Manufacturing Tool V2 (MFGTool2) ucl2.xml hacking》之后对 * U-boot存放于eMMC 1K地址有疑惑,希望能找到确切的说法。
/************************************************************************************
 *                      I.MX6 eMMC 中启动U-boot存放的首地址
 * 声明:
 *     本文是解读《I.MX6 Manufacturing Tool V2 (MFGTool2) ucl2.xml hacking》之后对
 * U-boot存放于eMMC 1K地址有疑惑,希望能找到确切的说法。
 *
 *                                          2015-10-14 晴 深圳 南山平山村 曾剑锋
 ***********************************************************************************/

/**
 * 参考文档:
 *     1. i.MX 6Dual/6Quad Multimedia Applications Processor Reference Manual 
 *        Chapter 7 --> System Boot
 *            --> 7.6 Program Image
 *                --> 7.6.1 Image Vector Table and Boot Data
 */

The Image Vector Table (IVT) is the data structure that the ROM reads from the boot device supplying the program image containing the required data components to perform a successful boot.
Image向量表是一个存在芯片内部ROM固化的数据结构,用于读取启动设备中的程序,而这些程序包含一些让系统成功运行起来的数据组件(目前个人暂且认为是U-boot)

The IVT includes the program image entry point, a pointer to Device Configuration Data (DCD) and other pointers used by the ROM during the boot process.The ROM locates the IVT at a fixed address that is determined by the boot device connected to the Chip.  The IVT offset from the base address and initial load region size for each boot device type is defined in the table below. The location of the IVT is the only fixed requirement by the ROM. The remainder or the image memory map is flexible and is determined by the contents of the IVT.
IVT向量表包括程序image入口点、设备配置数据指针(DCD)、以及其他一些启动ROM程序运行过程中用到的指针。ROM程序根据不同的启动设备来决定其IVT表的加载地址。IVT偏移地址(相对首地址:0x00000000)和初始化加载程序大小是由启动设备决定,具体情况参照下面表格,IVT表示ROM程序固定的,其他的内存映射并不固定,由IVT表决定(这还不是由IVT表决定?最后一句没理解)。


       Table 7-24. Image Vector Table Offset and Initial Load Region Size
+----------------------+---------------------------+---------------------------+
| Boot Device Type     | Image Vector Table Offset | Initial Load Region Size  |
+----------------------+---------------------------+---------------------------+
| NOR                  | 4 Kbyte = 0x1000 bytes    | Entire Image Size         |
+----------------------+---------------------------+---------------------------+
| NAND                 | 1 Kbyte = 0x400 bytes     | 4 Kbyte                   |
+----------------------+---------------------------+---------------------------+
| OneNAND              | 256 bytes = 0x100 bytes   | 1 Kbyte                   |
+----------------------+---------------------------+---------------------------+
| SD/MMC/eSD/eMMC/SDXC | 1 Kbyte = 0x400 bytes     | 4 Kbyte                   |
+----------------------+---------------------------+---------------------------+
| I2C/SPI EEPROM       | 1 Kbyte = 0x400 bytes     | 4 Kbyte                   |
+----------------------+---------------------------+---------------------------+
| SATA                 | 1 Kbyte = 0x400 bytes     | 4 Kbyte                   |
+----------------------+---------------------------+---------------------------+


由上表,我们也就是到,当我们选择从eMMC启动的的时候,我们的要将U-boot.bin从1Kbyte的基地址开始读取,这《I.MX6 Manufacturing Tool V2 (MFGTool2) ucl2.xml hacking》中烧入U-boot.bin的位置吻合。

 

目录
相关文章
|
存储 安全 Linux
linux系统中u-boot命令的EMMC和SD卡操作命令分析
linux系统中u-boot命令的EMMC和SD卡操作命令分析
1403 1
|
安全 容器 数据安全/隐私保护
CTF本地靶场搭建——静态flag题型的创建
【6月更文挑战第1天】本文介绍了如何在CTF比赛中创建静态flag题型。静态flag是预先设定且不变的,常用于攻防模式或Misc、Crypto等题目中作为验证答案的一部分。创建步骤包括:选择比赛,新建题目,设置题目类型和内容,上传附件,添加静态flag,启用题目。选手则需下载附件,解密或解决问题后提交静态flag进行验证。
|
安全 网络虚拟化 数据安全/隐私保护
IEEE802系列协议知识点总结
IEEE802系列协议知识点总结
1024 1
|
算法 数据安全/隐私保护
星座图整形技术在光纤通信中的matlab性能仿真,分别对比标准QAM,概率整形QAM以及几何整形QAM
本文介绍了现代光纤通信系统中的星座图整形技术,包括标准QAM、概率整形QAM和几何整形QAM三种方法,并对比了它们的原理及优缺点。MATLAB 2022a仿真结果显示了不同技术的效果。标准QAM实现简单但效率有限;概率整形QAM通过非均匀符号分布提高传输效率;几何整形QAM优化星座点布局,增强抗干扰能力。附带的核心程序代码展示了GMI计算过程。
756 0
|
数据安全/隐私保护
如何配置战斧指纹浏览器和IPXProxy海外代理IP?
通过代理IP,用户可以轻松绕过地域限制,访问全球范围内的网站和服务。特别是对于跨境用户来说,需要在目标市场投放广告,而代理IP能帮助实现精准投放,快速的提升品牌或者店铺的知名度。那如何在如何在战斧指纹浏览器中设置IPXProxy海外代理IP?
441 0
|
网络协议 C语言
【开源视频联动物联网平台】libmodbus库写一个Modbus TCP客户端
【开源视频联动物联网平台】libmodbus库写一个Modbus TCP客户端
266 0
|
Prometheus 监控 Cloud Native
SpringBoot3 整合Prometheus + Grafana
SpringBoot3 整合Prometheus + Grafana
SpringBoot3 整合Prometheus + Grafana
|
NoSQL Linux Redis
Docker-Compose
Docker-Compose
425 0