/************************************************************************************
* 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. 模块讲解----subprocess模块

    历史 #输出结果到屏幕上,并不返回执行状态os.system('dir')#保存命令的执行结果输出ret = os.popen('dir').read() 问题:上面2条是把命令结果保存下来了,但是返 ...

  2. ubuntu update-alternatives

    update-alternatives是ubuntu系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令.哪个软件版本,比如,我们在系统中同时安装了open jdk和sun ...

  3. CCPC-Wannafly Winter Camp Day1 (Div2, onsite)

    Replay Dup4: 要是不挂机,再多仔细想想就好了 J确实自闭好久,一直在想正确性,最后数据错了,喵喵喵? 还是要保证充足的休息啊,中间睡了一小会儿,也不知道睡了多久,醒来他们就又过了一道 要发 ...

  4. ZW网络团队及资源简介

    ZW网络团队及资源简介 ZW网络推广团队,是国内首个教父级网络营销团队,自1997年以来,先后参与操盘多个重大互联网项目,服务过超过150家国际500强客户,是微软公司首家官方认证的网络公关服务商,新 ...

  5. 爬虫概要及web微信请求分析

    一.爬虫概要 1.网络爬虫是什么 百度百科:网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常 ...

  6. JavaScript高级内容笔记:原型链、继承、执行上下文、作用域链、闭包

    最近在系统的学习JS深层次内容,并稍微整理了一下,作为备忘和后期复习,这里分享给大家,希望对大家有所帮助.如有错误请留言指正,tks. 了解这些问题,我先一步步来看,先从稍微浅显内容说起,然后引出这些 ...

  7. .net Core 发布并布署到Iis

               配置 Program.cs代码 namespace WebApplication8 { public class Program { public static void Mai ...

  8. 20145311 《Java程序设计》第七周学习总结

    20145311 <Java程序设计>第七周学习总结 教材学习内容总结 第十二章 Lambda Lambda表达式会使程序更加地简洁,在平行设计的时候,能够进行并行处理. 第十三章 时间与 ...

  9. win10下搭建深度学习--总结【学习笔记】

    win10 下搭建深度学习开发环境总结: 1.本人环境如下:win10,GTX1050TI.i7,anaconda3,vs2015,cuda9.0,cudnn7.1.4,tensorflow-gpu= ...

  10. TCGA系列--GDCRNATools

    https://github.com/Jialab-UCR/GDCRNATools GDCRNATools - An R package for downloading, organizing, an ...