zynq7000创建fsbl启动_xilinx zynq 7000 FSBL启动分析(二)

前言

在上一次分析中,分析到了

HandoffAddress=LoadBootImage();

在分析这个函数之前,在从0地址运行之前,在复位(上电复位)之后会从bootROM这个位置开始执行代码,在bootROM中,程序会将QSPI(如果是从qspi启动的话)的前nK的数据拷贝到OCM中,然后跳转到OCM中执行。把生成的BOOT.bin文件用二进制程序打开,根据数据手册可以分析一下前面的数据含义。

BOOT.bin

在boot.bin中从地址0-0x8BF可以分成17个部分,每个部分都有一定的含义

1. 0x000 中断向量表

2. 0x020 固定值 0xaa995566

3. 0x024 固定值 0x584c4e58 ASCII: XLNX

4. 0x028 如果是0xa5c3c5a3或者0x3a5c3c5a为加密的

5. 0x02C bootrom头版本号,不用管

6. 0x030 从bootrom开始到app地址的总数(bytes)

7. 0x034 从loadimage拷到OCM的长度

8. 0x038 目的地址到哪儿拷贝FSBL

9. 0x03C 开始执行的地址

10. 0x040 同7

11. 0x044 0x01为固定值

12. 0x048 校验和(从0x020-0x047)按32-bit word 相加取反

13. 0x04C bootgen相关

14. 0x098 image头的表指针

15. 0x09C partition头的表指针

16. 0x0A0 寄存器初始化的参数

17. 0x8A0 fsbl user defined

18.

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值