IMX头部详细解析之一 头部组成

欧大琛 2020-01-31 PM 11275℃ 27条

镜像组成

完整的imx镜像由以下四部分组成:

  • Image Vector Table(映像向量表)
  • Boot Data(启动数据)
  • Device Configuration Data(设备配置数据)
  • User Code & Data(用户代码与数据)

IVT

映像向量表(IVT)是SOC的内部BootRom从BootDevice中读取的一组数据信息,该数据中指定了运行时各部分组件的地址。
IVT中包含了用户应用的入口地址,DCD部分的运行时地址,Boot Data的运行时地址等。
内部BootRom根据Boot Device不同对IVT的起始地址有所规定,IVT相对及地址的偏移和初始化加载大小如下:

Boot Device TypeImage Vector Table OffsetInitial Load Region Size
NOR4KbyteEntire Image Size
NAND1Kbyte4Kbytes
OneNAND256bytes1Kbytes
SD/MMC/eSD/eMMC/SDXC1Kbytes4Kbytes
I2S/SPI EEPROM1Kbytes4Kbytes
SATA1Kbytes4Kbytes

BootRom只需要知道IVT的地址,其他的组成部分的地址则可以根据IVT中查询到。
以下为BootDevice中IVT在运行时,各成员的实际运行地址。
8f5431ab-e046-4ee9-8dec-f35d4264e8ec

IVT具体结构如下,每个成员均为32bit

897bb244-3c95-4493-a63e-5950b8e5bef1

header:

e2459cd9-40b6-4a02-a32e-5d23215705bc

Tag:固定字节0xD1,1字节
Length:IVT的长度,大端表示,2字节(固定为0x0020(32字节))
Version:版本固定为0x40,0x41

entry:

用户程序的运行地址,连接地址

reserved1:

保留,值为0

dcd:

运行时的DCD地址,该值 = entry - Initial Load Region Size + IVT Offset + boot data size

boot data:

运行时的boot data的绝对地址,该值 = dcd - boot data size

self:

运行时的IVT地址,该值 = entry - Initial Load Region Size + IVT Offset

csf:

运行时的HAB库所使用的命令序列文件的地址,不使用时为0

reserved2:

保留,值为0


Boot Data

b7a1a1ae-ac44-4169-91e7-86c765f358f9

start:

长度4字节,运行时imx头的地址(包含了IVT Offset),该值 = entry - Initial Load Region Size

length:

imx镜像的大小(包含IVT Offset),以u-boot.imx,该值为u-boot.imx大小 + IVT Offset

plugin:

插件标志,imx6原生支持的Boot Device是有限的,如果我们想使用其他的Boot源(如Ethernet、CDROM、USB等),则需要提供对应的驱动程序,来完成Boot过程。具体的驱动程序路径则在DCD配置文件设置。


Device Configuration Data

复位后,系统通常使用默认的寄存器值运行,但这却不一定是我们需要的最好运行状态,为此我们需要使用更合适的寄存器配置,让系统运行在更合适的状态。内部Boot Rom通过IVT中的信息确定DCD的地址。
下表为DCD的结构,每个成员均为32bit
e9d178b9-ae57-48a1-a2eb-744a16468319

Header:

a04545d5-a147-4223-bac4-5c04b73f483d

Tag:固定字节0xD2,1字节
Length:DCD的长度,大端表示,2字节
Version:版本固定为0x40,0x41(手册上为0x41,查看u-boot.imx头部,该字段为0x40)

[CMD]:

根据CMD的Header的Tag,CMD共由四种不同的命令组成。

1.Write Data Command:

用于向指定的寄存器地址写入值
2b57451d-8c4d-423e-8d93-183103698f30

54c1b7dc-308f-4173-b6b2-e384b3a22a62

Header:

Tag:固定字节0xCC,1字节
Length:WDC命令的长度, 大端表示,2字节
Parameter:命令控制域,1字节

15ec09a5-ba19-455d-be5f-97b33d823261

Parameter:

bytes:写入值的长度(1,2,4bytes)
flags:控制当前命令行为:设置值或设置掩码,bit3为mask标识位,bit4为set标识位,对应行为如下:

097caeeb-814e-42a4-9113-366eb333c485

Address:

有效寄存器地址如下
c7d4705a-33f5-4389-9312-b4489f064427

Value/Mask:

实际数据

2.Check Data Command:

用于校验寄存器值

9eb5d8ff-95ea-4f95-a190-83e8afb17998

Header:

Tag:固定字节0xCF,1字节
Length:CDC命令的长度, 大端表示,2字节
Parameter:命令控制域,1字节

f2080423-06dd-44f1-bde0-d4f831337f18

Parameter

bytes:写入值的长度(1,2,4bytes)
flags:控制当前命令行为:设置值或设置掩码,bit3为mask标识位,bit4为set标识位,对应行为如下:

d45f3ff4-5d68-4bfb-ad51-4e576e418a8e

address:

需要测试的寄存器地址

mask:

测试掩码值

count:

可选,轮询次数,如果未指定,则无限轮询,直到符合退出条件,如果为0,则等于空操作。

3.Nop Command:

空命令
a6874a82-57d5-4213-8310-999602abb7f3

header:

Tag:固定字节0xC0,1字节
Length:NC命令长度,固定4字节
Undefined:无效位,写0

4.Unlock Command:

解锁命令
136f01f1-0260-44b3-ad9a-7bb1def9b21c

header:

Tag:固定字节0xB2,1字节
Length:UC命令长度,大端表示,2字节
Eng:待解锁的引擎

Value:

解锁所需值

参考文章:i.MX 6ULL Applications Processor Reference Manual

标签: nxp, imx6, u-boot.imx

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

欧大琛

(๑>ڡ<)☆谢谢老板~

使用微信扫描二维码完成赞赏

非特殊说明,本博所有文章均为博主原创。

评论啦~



已有 27 条评论


  1. a0fz.cn

    澳门找女孩子多少钱a0gz.cn

    回复 2025-11-24 21:09
  2. 鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

    《华纳圣淘沙公司开户流程全解析》→ 官方顾问一对一指导??? 安全联系:183第三段8890第四段9465
    《华纳圣淘沙开户步骤详解》→ 」专属通道快速办理??? 安全联系:183第三段8890第四段9465
    《华纳圣淘沙账户注册指南》→ 扫码获取完整资料清单?「微?? 安全联系:183第三段8890第四段9465
    《新手开通华纳圣淘沙公司账户指南》→ 限时免费咨询开放??? 安全联系:183第三段8890第四段9465
    《华纳圣淘沙企业开户标准流程》→ 资深顾问实时解答疑问??? 安全联系:183第三段8890第四段9465
    《华纳圣淘沙开户步骤全景图》→ 点击获取极速开户方案??? 安全联系:183第三段8890第四段9465
    《华纳圣淘沙账户创建全流程手册》→ 预约顾问免排队服务?9?? 安全联系:183第三段8890第四段9465 《从零开通华纳圣淘沙公司账户》→ 添加客服领取开户工具包?? 安全联系:183第三段8890第四段9465
    《官方授权:华纳圣淘沙开户流程》→ 认证顾问全程代办?」?? 安全联系:183第三段8890第四段9465
    《华纳圣淘沙开户说明书》→立即联系获取电子版文件??? 安全联系:183第三段8890第四段9465

    回复 2025-11-22 16:36
  3. 鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

    寻找华纳圣淘沙公司开户代理(183-8890-9465薇-STS5099】

    华纳圣淘沙官方合作开户渠道(183-8890-9465薇-STS5099】

    华纳圣淘沙公司开户代理服务(183-8890-9465薇-STS5099】

    华纳圣淘沙公司开户咨询热线(183-8890-9465薇-STS5099】

    联系客服了解华纳圣淘沙开户

    (183-8890-9465薇-STS5099】
    华纳圣淘沙公司开户专属顾问

    (183-8890-9465薇-STS5099】

    回复 2025-11-21 15:49
  4. 鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

    华纳圣淘沙公司开户新手教程

    零基础学会(183-8890-9465薇-STS5099)
    华纳圣淘沙公司开户

    华纳圣淘沙公司开户保姆级教程(183-8890-9465薇-STS5099)

    一步步教你开通华纳圣淘沙公司账户(183-8890-9465薇-STS5099)

    华纳圣淘沙公司开户分步图解

    首次开户必看:(183-8890-9465薇-STS5099)
    华纳圣淘沙全攻略

    华纳圣淘沙公司开户实操手册(183-8890-9465薇-STS5099)
    华纳圣淘沙开户流程视频教程

    手把手教学:(183-8890-9465薇-STS5099)
    华纳圣淘沙公司开户

    华纳圣淘沙公司开户完全指南(183-8890-9465薇-STS5099)

    回复 2025-11-20 16:59
  5. 鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

    华纳圣淘沙公司开户新手教程

    零基础学会(183-8890-9465薇-STS5099)
    华纳圣淘沙公司开户

    华纳圣淘沙公司开户保姆级教程(183-8890-9465薇-STS5099)

    一步步教你开通华纳圣淘沙公司账户(183-8890-9465薇-STS5099)

    华纳圣淘沙公司开户分步图解

    首次开户必看:(183-8890-9465薇-STS5099)
    华纳圣淘沙全攻略

    华纳圣淘沙公司开户实操手册(183-8890-9465薇-STS5099)
    华纳圣淘沙开户流程视频教程

    手把手教学:(183-8890-9465薇-STS5099)
    华纳圣淘沙公司开户

    华纳圣淘沙公司开户完全指南(183-8890-9465薇-STS5099)

    回复 2025-11-20 16:30
  6. 鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

    东方明珠客服开户联系方式【182-8836-2750—】?μ- cxs20250806
    东方明珠客服电话联系方式【182-8836-2750—】?- cxs20250806】
    东方明珠开户流程【182-8836-2750—】?薇- cxs20250806】
    东方明珠客服怎么联系【182-8836-2750—】?薇- cxs20250806】

    回复 2025-11-10 15:08
  7. 鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

    果博东方客服开户联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方公司客服电话联系方式【182-8836-2750—】?薇- cxs20250806】
    果博东方开户流程【182-8836-2750—】?薇- cxs20250806】
    果博东方客服怎么联系【182-8836-2750—】?薇- cxs20250806】

    回复 2025-11-08 16:14
  8. 鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

    新盛客服电话是多少?(?183-8890-9465—《?薇-STS5099】【
    新盛开户专线联系方式?(?183-8890--9465—《?薇-STS5099】【?扣6011643??】
    新盛客服开户电话全攻略,让娱乐更顺畅!(?183-8890--9465—《?薇-STS5099】客服开户流程,华纳新盛客服开户流程图(?183-8890--9465—《?薇-STS5099】

    回复 2025-11-07 15:42
  9. 鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

    新盛客服电话是多少?(?183-8890-9465—《?薇-STS5099】【
    新盛开户专线联系方式?(?183-8890--9465—《?薇-STS5099】【?扣6011643??】
    新盛客服开户电话全攻略,让娱乐更顺畅!(?183-8890--9465—《?薇-STS5099】客服开户流程,华纳新盛客服开户流程图(?183-8890--9465—《?薇-STS5099】

    回复 2025-11-07 15:14
  10. 鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

    华纳东方明珠客服电话是多少?(▲18288362750?《?微信STS5099? 】
    如何联系华纳东方明珠客服?(▲18288362750?《?微信STS5099? 】
    华纳东方明珠官方客服联系方式?(▲18288362750?《?微信STS5099?
    华纳东方明珠客服热线?(▲18288362750?《?微信STS5099?
    华纳东方明珠24小时客服电话?(▲18288362750?《?微信STS5099? 】
    华纳东方明珠官方客服在线咨询?(▲18288362750?《?微信STS5099?

    回复 2025-11-02 15:17
  11. 鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

    华纳东方明珠客服电话是多少?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
    华纳东方明珠开户专线联系方式?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
    如何联系华纳东方明珠客服?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
    华纳东方明珠官方客服联系方式?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
    华纳东方明珠客服热线?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
    华纳东方明珠开户客服电话?(▲182(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
    华纳东方明珠24小时客服电话?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
    华纳东方明珠客服邮箱?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
    华纳东方明珠官方客服在线咨询?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】
    华纳东方明珠客服微信?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】

    回复 2025-11-01 16:06
  12. 鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

    华纳公司开户注册指南?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】

    回复 2025-10-31 18:19
  13. hiryrxduqi

    新项目准备上线,寻找志同道合的合作伙伴

    回复 2025-10-05 05:04
  14. cczputmvha

    文章的叙述风格独特,用词精准,让人回味无穷。

    回复 2025-03-04 15:25
  15. rvhvhihemd

    作者以非凡的视角解读平凡,让文字焕发出别样的光彩。

    回复 2025-03-01 02:08
  16. uqttfhuvmp

    ?诗歌散文评语?

    回复 2025-02-28 18:40
  17. svwsazvbhh

    作者以简洁明了的语言,传达了深刻的思想和情感。

    回复 2025-02-28 15:59
  18. ltihulkwww

    看到你的文章,我仿佛感受到了生活中的美好。 http://www.55baobei.com/wx08bp5ofy.html

    回复 2024-12-08 19:50
  19. tuugrdpazn

    你的文章内容非常卖力,让人点赞。 https://www.4006400989.com/qyvideo/27801.html

    回复 2024-11-30 05:57
  20. axyqbimkxq

    《都市神医:七个师姐保我无敌》国产动漫高清在线免费观看:https://www.jgz518.com/xingkong/11806.html

    回复 2024-11-30 03:39