IMX6Solo启动流程-从上电到Uboot

写在前头

*.版权声明:本篇文章为原创,可随意转载,转载请注明出处,谢谢!另我创建一个QQ群82642304,欢迎加入!
*.目的:整理一下RIotBoard开发板的启动流程,对自己的所学做一个整理总结,本系列Uboot代码基于2009.08版。
*.备注:整个系列只是对我所学进行总结,记录我认为是关键的点,另我能力有限,难免出现疏漏错误,如果读者有发现请多指正,以免我误导他人!


i.MX6 Solo从上电到Uboot

  1. 板子上电之后,先执行的是片内ROM的一段启动代码,具体可见imx6solo数据手册中< Chapter 8: System Boot >。启动代码根据寄存器配置及/或外部管脚的配置,决定进入下载模式或者从某处(Flash、emmc、SD卡等存储设备)启动Uboot。
    如果是从emmc启动Uboot,根据数据手册所描述的,首先启动代码会将emmc前4K的数据拷贝到内部RAM,这些数据里面包含了Program image数据.
    Program image是飞思卡尔定义的一个镜像数据结构,包括镜像向量表IVT,Boot Data,设备配置数据DCD和用户代码数据等信息,详见数据手册<8.6 Programe image>.
    另:加载数据长度大小和IVT的偏移量根据启动设备类型的不同而不同,详见下表:
    启动代码加载数据长度和IVT偏移量
    至于IVT为何要有一个偏移量,个人认为是空开位置用于存放MBR,目前RIotBoard是没有用到.

  2. IVT主要包含(详见< 8.6.1.1: Image Vector Table Structure >):

</
名称 含义
header IVT头部,标识IVT和IVT长度
entry 第一条指令的入口地址,即Uboot的入口
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值