BOOT.BIN头简介
BOOT.BIN头其实就是BOOT.BIN文件前面的一段头部数据,并且这个头部数据是按照一定的格式组织在一起的,并且该头部数据能够被BootROM代码解析。


在boot.bin文件中从地址0-0x8FF可以分为17个部分,每个部分都有一定的含义。注意:BOOT.BIN的数据存储为小端模式。
(1)0x000:中断向量表。
(2)0x020:固定值0xaa995566。
(3)0x024:固定值0x584c4e58,ASCII:XLINX。
(4)0x028:如果是0xa5c3c5a3或者0x3a5c3c5a则为加密的。
(5)0x02C:bootrom头版本号,不用管。
(6)0x030:此参数包含从有效bootrom头开始到fsbl/用户代码映像所在位置的字节数,也就是fsbl/用户代码的地址偏移量。该地址偏移量必须大于等于0x8C0,因为头部信息就是0x8C0结束的。
(7)0x034:记录fsbl的长度,用于指导BootROM代码拷贝fsbl长度。
(8)0x038:将fsbl拷贝到OCM的什么位置,一般为0x0,加载地址。
(9)0x03C:fsbl在OCM中的运行地址,一般定义为0x0,运行地址。
(10)0x040:同7。
(11)0x044:0x01,为固定值。
(12)0x048:头部校验和(将0x020-0x047之间的数据按照32bit长度进行相加,并安位取反即可!若相加之后的数据大小超过32bit,则取低32bit进行取反)

文章详细解释了BOOT.BIN文件的头部结构,包括中断向量表、fsbl位置和长度、U-Boot和bitstream的查找方法,以及imageheader和partitionheadertable的作用。

6906

被折叠的 条评论
为什么被折叠?



