zynq
heslbm
这个作者很懒,什么都没留下…
展开
-
zynq外设SPI使用经验
1、综述SPI的具体使用可以去查看ug585的文档,并配合附录里的寄存器。我这里记录调试SPI的过程和经验。2、需求由于工程中,需要使用SPI来进行大数据块的传输,其数据块是900个字节,已经远远超出了SPI的FIFO深度。由于SPI的寄存器并没有指示数据已经发送完毕的标志(SPI的发送寄存器中的数据发送完毕),因此采用收取到的字节数=发送的字节数来判别是否已经发送完毕(类似于系统启动前BIT)。3、方法配置:主模式,手动设置CS,空闲时时钟为高电平,下降沿发送数据,上升沿接收数据。原创 2020-08-24 22:01:24 · 3288 阅读 · 3 评论 -
ZYNQ multiBoot
接上一篇FLASH烧写总结,将FLASH分为2个区,A和B区,A区地址小,B区地址大,B区存放最原始能正确运行的程序。每次更新的程序存放到A区域。也可以存储多个功能的程序,指令形式让程序运行不同的应用层程序。如下:/* A 程序 下载FLASH地址0的地方开始*/#include <stdio.h>#include “platform.h”#include “xil_printf.h”#include “xil_io.h”#include “sleep.h”#define P原创 2020-08-13 00:11:55 · 1739 阅读 · 0 评论 -
zynq烧写QSPI FLASH经验
最近工程需要远程进行代码的更新,查阅了一些资料,找到了multiBoot来实现。zynq启动顺序依次是BootROM、fsbl、应用层。根据boot的帧头查找过程,正常的flash下载过程如下图:需要下载的程序,每包分成了0x20000(128k)byte,下载到flash中。从地址0开始擦除,4325376 bytes擦除完成。修改偏移量如下图所示。可以更改下载到flash中的位置,但偏移量必须是64k的整数倍。下载过程如下图所示,数据存储从地址0x10000(64kByte)处开始存储原创 2020-08-12 23:37:51 · 13549 阅读 · 2 评论 -
vivado调试经验,存在两个顶层文件
zynq芯片在vivado环境下,很方便。由于vivado软件自己的bug,也遇到一些问题。这个存在两个顶层文件就是其中一个。在进行综合的时候不会报错误,等到生成bit的时候无法完成。出现两个顶层文件如下面示意图:这个示意图是已经修改好的,出现问题时,在design_1_wrapper这一级还会有另外一个v文件,造成多个顶层文件。解决办法是,先建立arm硬盒的系统及外围设计,g...原创 2019-04-12 10:29:21 · 8243 阅读 · 0 评论 -
vivado中自制IP核,管脚出现warming问题
我在使用vivado的tools标签下Creat and Package New IP进行自制带AXI总线的IP核时,出现以下warming,最终导致在使用IP时不能通过编译。这个warming是:[IP_Flow 19-3153] Bus Interface 's00_axi_aclk': ASSOCIATED_BUSIF bus parameter is missing.如下图这种情况...原创 2019-04-12 14:26:34 · 1464 阅读 · 0 评论