zynq FSBL调试二

2015-03-02 22:53 阅读 1,773 次 评论 4 条

在zynq fsbl调试一中说明了如何输出fsbl的调试信息。跟踪调试信息在通过串口烧写程序后,PL部分在通过PCAP的DMA传输后就停止了,如下图所示。

clip_image002

首先怀疑在传输数据时有数据写错,导致PL部分代码错误造成PL部分程序传递到PL部分后,PL不能正常加载。这时就先看看通过串口写入qspi flash中的数据是否与boot.bin文件中的数据相同。(注boot.bin中二进制数据与flash中的数据意义对应)。在zynq中qspi的地址为0xfc000000,而PL部分代码在前面已经设置为0x40000地址偏移,所以其PL部分的地址应该是0xfc040000。本以为spi flash不能通过JTAG查看flash中的内容,但想到既然映射了地址,最少可以看见0xfc040000地址的内容,后面不能看。在memory输入0xfc040000地址后,居然qspi中的数据都能看到了。比对了开始0x40个地址的数据内容与boot.bin文件相同。

回想今天在代码中的地址数据换成了宏的形式,检查宏定义的时候,发现在配置目标地址的时候,将地址加了两边,这样造成在写入PL部分数据时有部分地址一直没有写入。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:zynq FSBL调试二 | 起点博客
分类:应用笔记 标签:, ,

发表评论


表情

  1. 苏朕
    苏朕 【队长】

    请问是如何通过串口烧写ZYNQ程序的呢?是通过专门的下载软件么?

  2. will
    will【站长】

    串口烧写,如要上位机将bin文件分包发到zynq中,然后zynq负责写入qspi flash。

  3. Zynq
    Zynq 【农民】

    我也想问,您是如何利用串口烧写Zynq的程序的,如果您愿意,小弟可以和您谈一下吗?谢谢

  4. will
    will【站长】

    串口传输数据到ARM的RAM中,再将数据烧写到SPI Flash中,就完成了程序烧写。与ARM或DSP的IAP功能一样。