/************************************************************************************
* 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 -. Image Vector Table Offset and Initial Load Region Size
+----------------------+---------------------------+---------------------------+
| Boot Device Type | Image Vector Table Offset | Initial Load Region Size |
+----------------------+---------------------------+---------------------------+
| NOR | Kbyte = 0x1000 bytes | Entire Image Size |
+----------------------+---------------------------+---------------------------+
| NAND | Kbyte = 0x400 bytes | Kbyte |
+----------------------+---------------------------+---------------------------+
| OneNAND | bytes = 0x100 bytes | Kbyte |
+----------------------+---------------------------+---------------------------+
| SD/MMC/eSD/eMMC/SDXC | Kbyte = 0x400 bytes | Kbyte |
+----------------------+---------------------------+---------------------------+
| I2C/SPI EEPROM | Kbyte = 0x400 bytes | Kbyte |
+----------------------+---------------------------+---------------------------+
| SATA | Kbyte = 0x400 bytes | Kbyte |
+----------------------+---------------------------+---------------------------+ 由上表,我们也就是到,当我们选择从eMMC启动的的时候,我们的要将U-boot.bin从1Kbyte的基地址开始读取,这《I.MX6 Manufacturing Tool V2 (MFGTool2) ucl2.xml hacking》中烧入U-boot.bin的位置吻合。

I.MX6 eMMC 中启动U-boot存放的首地址的更多相关文章

  1. 错误: 找不到或无法加载主类(IDEA中启动spring boot项目)

    版权声明:本文为博主原创文章,如果转载请给出原文链接:http://www.jufanshare.com/content/142.html 提示:需要对IDEA编辑工具使用熟悉 出现一个问题,就是sp ...

  2. idea中使用tomcat 方式启动spring boot项目

    Spring boot 的main 入口启动方式相信都会用,直接运行main直接就启动了,但是往往这种方式并不是最佳的启动方式,比如运维的层面更希望调整tomcat的调优参数,而只使用嵌入启动方式很难 ...

  3. 【Xilinx-Petalinux学习】-03-PetaLinux通过eMMC方式启动

    前面说的我的硬件上有一颗eMMC的芯片,型号是MTFC4GACAJCN-4M IT,有4GB的容量. BOOT.bin的文件较小,只有不到3MB,但是image.ub的文件根据不同的需求,将来可能会越 ...

  4. -03-PetaLinux通过eMMC方式启动【Xilinx-Petalinux学习】

    前面说的我的硬件上有一颗eMMC的芯片,型号是MTFC4GACAJCN-4M IT,有4GB的容量. BOOT.bin的文件较小,只有不到3MB,但是image.ub的文件根据不同的需求,将来可能会越 ...

  5. tiny4412学习(一)之从零搭建linux系统(烧写uboot、内核进emmc+uboot启动内核)【转】

    本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/74080109 版权声明:本文为博主原创文章,转载请注明http://blog.c ...

  6. tiny4412学习笔记-将uboot、zImage、文件系统烧到emmc中

    1.首先还是要将u-boot写入SD卡中从SD卡启动. 使用读卡器将SD插入电脑中,使用umount卸载u盘, fdisk -l显示其挂载点为 /dev/sdb1 切换到/home/bunfly/im ...

  7. tiny4412学习笔记-将uboot、zImage、文件系统烧到emmc中 (转)

    http://blog.chinaunix.net/uid-30025978-id-4788683.html 1.首先还是要将u-boot写入SD卡中从SD卡启动. 使用读卡器将SD插入电脑中,使用u ...

  8. KEIL中启动文件详解(汇编语言)

    原文在此:http://www.cnblogs.com/mddblog/p/4920063.html 概述 在嵌入式系统中,启动文件是整个系统非常关键的部分,它会进行一些底层的初始化,构建程序运行必要 ...

  9. Android系统在新进程中启动自定义服务过程(startService)的原理分析

    在编写Android应用程序时,我们一般将一些计算型的逻辑放在一个独立的进程来处理,这样主进程仍然可以流畅地响应界面事件,提高用户体验.Android系统为我们提供了一个Service类,我们可以实现 ...

随机推荐

  1. bootstrap fileinput api翻译笔记

    bootstrap fileinput HTML标签属性 data-show-preview="false" // 是否显示预览区 multiple // 多文件 data-sho ...

  2. SpringData_CrudRepository接口

    CrudRepository CrudRepository 接口提供了最基本的对实体类的添删改查操作 T save(T entity);//保存单个实体 Iterable<T> save( ...

  3. vs2010中如何编写C语言程序

    File->New->Project 在打开的New Project对话框中最左侧一栏中选择Visual C++下面的CLR,之后在其右侧的区域中选择CLR Empty Applicati ...

  4. 2018 Multi-University Training Contest 2 Solution

    A - Absolute 留坑. B - Counting Permutations 留坑. C - Cover 留坑. D - Game puts("Yes") #include ...

  5. zw版【转发·台湾nvp系列Delphi例程】HALCON SetIcon2

    zw版[转发·台湾nvp系列Delphi例程]HALCON SetIcon2 procedure TForm1.Button1Click(Sender: TObject);var img : HUnt ...

  6. ZW云推客即将登场

    ZW云推客即将登场   即"4K云字库"框架文件发布后,ZW团队即将发布一全功能的:ZW云推客系统. ZW云推客系统,是原zBrow"百万社区营销系统".&qu ...

  7. Es+kafka搭建日志存储查询系统(设计)

    现在使用的比较常用的日志分析系统有Splunk和Elk,Splunk功能齐全,处理能力强,但是是商用项目,而且收费高.Elk则是Splunk项目的一个开源实现,Elk是ElasticSearch(Es ...

  8. python pytz 结合时区的日期操作

    有一个安排在2012 年12 月21 日早上9:30 的电话会议,地点在芝加哥.而朋友在印度的班加罗尔,那么他应该在当地时间几点参加这个会议呢? 对几乎所有涉及到时区的问题,你都应该使用pytz 模块 ...

  9. python 解析xml遇到xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 4, column 34

    在调试数字驱动用xml文件的方式时,包含读取xml文件的步骤,运行程序报错: d:\test\0629>python XmlUtil.pyTraceback (most recent call ...

  10. 20145311王亦徐 实验三 "敏捷开发与XP实践"

    20145311王亦徐 实验三 "敏捷开发与XP实践"程序设计过程 实验内容 使用 git 上传代码 使用 git 相互更改代码 实现代码的重载 git 上传代码 查看代码是否有修 ...