1. 如何单步测试fsbl

1.1 先在cortexa53_0 bsp包里面选择xilffs xilsecure xilpm

如图操作,然后重新编译bsp

1.2 创建fsbl工程

1.3 减小代码大小(可选,可以不做这一步)

把FSBL_NAND/QSPI/SECURE_EXCLUDE_VAL 都改为(1U)

1.4 设断点提示failed to plant: unresolved source line information

修改编译选项

右键选属性,把编译选项最后的-ffat-lto-objects删掉

1.5 把initialize using fsbl取消

因为我们要调试fsbl,就是怀疑fsbl有问题。这时候先运行一遍fsbl,有可能直接就卡死了。

1.6 fsbl自带的调试输出

zynq FSBL调试 | 起点博客

在build setting,如下图在添加“FSBL_DEBUG_INFO”定义,重新编译即可。

3.BOOT.bin文件结构

ZYNQ Boot.bin文件结构 | 起点博客

 

0x0000地址对应内容Boot Header Parameters

0x0098 地址对应的内容为image header table

0x009C地址对应的内容为partition表的起始地址,即为parition header table

问题一、Zynq的bin文件中,PL的bitstream文件是从何处开始?

Partition Header Offset:0x00000c80

Partition Count: 4

Partition Number: 0

Header Dump

Image Word Len: 0x00008005

Data Word Len: 0x00008005

Partition Word Len:0x00008005

Load Addr: 0x00000000

Exec Addr: 0x00000000

Partition Start: 0x00000370

Partition Attr: 0x00000010

Partition Checksum Offset: 0x00000000

Section Count: 0x00000000

Checksum: 0xfffe7a30

Partition Number: 1

Header Dump

Image Word Len: 0x0007f2e8

Data Word Len: 0x0007f2e8

Partition Word Len:0x0007f2e8

Load Addr: 0x00000000

Exec Addr: 0x00000000

Partition Start: 0x00008380(PL的bitstream地址)

Partition Attr: 0x00000020

Partition Checksum Offset: 0x00000000

Section Count: 0x00000001

Checksum: 0xffe7a156

Partition Number: 2

Header Dump

Image Word Len: 0x00000002

Data Word Len: 0x00000002

Partition Word Len:0x00000002

Load Addr: 0x00114000

Exec Addr: 0x00100000

Partition Start: 0x00087670

Partition Attr: 0x00000010

Partition Checksum Offset: 0x00000000

Section Count: 0x00000002

Checksum: 0xffd64717

Partition Number: 3

Header Dump

Image Word Len: 0x00005005

Data Word Len: 0x00005005

Partition Word Len:0x00005005

Load Addr: 0x00100000

Exec Addr: 0x00000000

Partition Start: 0x00087680

Partition Attr: 0x00000010

Partition Checksum Offset: 0x00000000

Section Count: 0x00000000

Checksum: 0xffe69700

从boot.bin文件的partitionheader中解析的信息看,PL的bitstream从0x00008380地址开始。此处的0x00008380为word address,所有应该乘以4,得到0x00020E00地址为PL bitstream的起始地址。

Logo

更多推荐