- 博客(17)
- 资源 (5)
- 收藏
- 关注
原创 JTAG访问xilinx FPGA的IDCODE
之前调试过xilinx的XVC(Xilinx virtual cable),突然看到有人搞wifi-JTAG(感兴趣可以参考https://github.com/kholia/xvc-esp8266),也挺有趣的。先从简单的开始搞起,识别器件,也就是获取IDCODE(目前已经实现:自己写代码也可以,利用Debug Bridge IP也可以,目前这两种做法亲测都可以)。如果想了解JTAG的时序方面的,直接去看手册即可,没什么特殊的(但是不同类型的器件可能会有所不同)。这张图是ila抓到的波形。
2024-04-23 18:07:11
1036
1
原创 mircobleze工程做后仿真
vivado工程搭建好一个microblaze工程,综合生成xsa/sdk后缀文件 ,调用vitis/sdk编写应用程序,编译生成elf文件,microblaze关联elf文件,来做前仿真对的这一套流程大家比较熟知。
2024-02-23 17:12:55
949
原创 xsdt zynqmp启动应用程序
如果你突然发现vivado版本不一致,sdk。vitis版本不一致,导致无法通过gui界面下载应用程序,那么可以利用xsdt,操作如下(不清楚为什么要添加那么多con,这点东西搞了我一个小时,无语):connecttargets -set -nocase -filter {name =~ "*A53*#0"}rst -systemtargets 2fpga D:/xczu3cg/J12/vitis/xczu3cg/hw/design_1_wrapper.bittargets -set -noca
2022-02-25 19:13:18
455
原创 【xilinx mipi_csi2_rx_subsystem调试总结】
@mipi_csi2_rx_subsystemmipi_csi2_rx_subsystemxilinx 官方为很多的IP提供了相应的系统即方案,这些内容实际上对于很多项目上有很多的帮助,我们可能会借鉴其中的一部分想法,加速设计验证。今天说的节选自xilinx官方文档pg232-mipi-csi2-rx.pdf。在经过在ultrascale+ FPGA芯片上,使用过mipi_csi2_rx_subsystem这个IP之后,加上近期将上述工程移植到zynqmp SOC芯片上以后,让我对xilinx所提供的
2022-02-25 14:35:29
4390
1
原创 vivado综合阶段部分IP报错--需要安装y2k22补丁包
Export IP Invalid Argument / Revision Number Overflow Issue (Y2K22)标题Export IP Invalid Argument / Revision Number Overflow Issue (Y2K22)DESCRIPTIONAs of January 1st 2022, the export_ip command used by Vivado HLS and Vitis HLS will fail to export the IP
2022-02-14 11:34:39
4867
原创 AR76191-vivado2020.2版本在综合后导出网表乱码-安装AR76191补丁包
76191 - Vivado 2020.2 : write_edif not writing out in plaintext when not in encrypted envelope标题76191 - Vivado 2020.2 : write_edif not writing out in plaintext when not in encrypted envelopeDESCRIPTIONWhen writing an EDIF netlist using write_edif, the
2022-02-14 11:26:11
586
原创 JTAG_UART
本次目的是尝试使用JTAG_UART,在没有实体的uart的情况下,如何调试应用程序。下面描述工程设置:使能debug模块使能JTAG_UART然后点击自动连接即可。调试过程中,使用流程:新建一个hello_world,然后修改bsp设置标准输入输出接口启动vivado XSCT,依次执行如下命令:1.connect -host localhost -port 3121//连接JTAG下载盒2.targets 2//选择目标器件,这里选对应器件的Debug Module3.jtag
2020-12-24 17:37:36
2263
1
原创 MII RMII GMII RGMII网口接口调试
最近一段时间都在调试上述这四种接口的网络接口,使用的是FPGA(microblaze+ethernet),移植xilinx官方的xapp1026的方案,使用了两款PHY芯片,DP83867IR(MII GMII RGMII)和KSZ8091RNB(RMII),现在功能全部都已经调通了,现在将最近三周的收获做一个简单的总结:监于两块芯片的官方均已经提供了demo板,现在只把我觉得需要注意的地方写一下:DP83867IR:这个片子支持MII GMII RGMII,rx_data这一组信号几乎均包含的第二功能
2020-12-22 19:42:42
2005
原创 vivado如何将ila debug的波形文件保存并读取
Vivado下debug后的波形通过图形化界面并不能保存抓取到波形,保存按钮只是保存波形配置,如果需要保存波形需要通过TCL命令来实现:write_hw_ila_data0730_ila_1 [upload_hw_ila_data hw_ila_1]write_hw_ila_data 0730_ila_2 [upload_hw_ila_data hw_ila_2]0730_ila_1为保存的文件名,需要带路径,hw_ila_1为你的ILA的名字,如果要读取已保存的波形,可以用下面的命令:read_
2020-11-06 17:10:25
3071
1
原创 vivado2020.1使用vitis生成QSPI启动文件报错
在使用vivado2020.1使用vitis,生成QSPI启动文件时会报错,data2mem命令无法识别,这是因为data2mem是xilinx7series芯片的命令,当使用ultrascale/ultrascale+芯片时则需要使用updatemem命令,这或许是vitis的一个bug吧,明明选择的是ultrascale的芯片,却一直调用打她mem命令,挺麻烦的,需要手动执行,在XSCT console窗口执行的命令如下:updatemem -force -meminfo \F:/xc7z35t/x
2020-11-02 11:41:57
2091
原创 AXI_IIC读写操作-页读页写
上周终于将页读页写的操作也实现了,发现比单字节读写能省一半的时间,不错不错,同样注意的是时间间隔,适当延时:下面的代码是将之前的代码做修改后的,那么操作流程是:单字节写入五个数单字节依次读出五个数页读页写,重复64次,遍历整个地址空间。#include <stdio.h>#include "platform.h"#include "xil_printf.h"#include "xparameters.h"#include "xil_io.h"#include "sleep.h
2020-11-02 11:20:14
1963
1
原创 AXI_IIC读写操作
其实在之前调试过一次AXI_IIC,没调试通,碍于赶进度,就直接使用了zynq-PS侧的IIC,就一直搁置着了,这次抽空将这部分内容继续调试下去,这一次没花多少时间就调通了,现在将我的调试过程,经历,以及参考文档如下:参考文档:pg090-axi-iic.pdf参考链接:https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/IIC-Protocol-and-Programming-Sequence/ba-p/1072248上面的这个
2020-10-29 19:19:29
11466
7
原创 vivado2020.1 vitis
vivado2020.1的SDK是不是找不到了?对的,他已经摇身一变,集成进入了vitis,那么他如何使用?以及常见的问题?我们汇总一下:1.你的工程中一定要包含最小系统中所需的microblaze+uart,其他的IP酌情添加,然后到处xsa文件:然后就一路next直到finish.2.手动找到vitis的快捷方式进入vitis(vivado中已经没有launch选项了,只能手动登录):等待进度条跑完,我们就进入了vitis的主界面。接下来我就不会配那么多文字了,按照图片一页一页操
2020-10-26 15:21:08
16431
11
原创 多个串口,切换打印端口
替换vivado sdk中的串口打印函数主要用于多个串口(AXI_UARTLITE IP)的使用,用来切换串口打印的输出端口:例如有两个串口:基地址分别为0x40600000,0x40610000,调用打印函数std_print时,将BaseAddress替换成相应的基地址即可:签名:20201022 olivercao 著...
2020-10-22 18:05:02
696
原创 使用axi_uart16550 IP
使用axi_uart16550 IP本文介绍如何使用axi_uart16550这个IP来输出打印信息。这里关于如何使用vivado搭建工程不做描述,与我们通用的microblaze工程是一致的。我们只是针对c代码如何编写做出说明:#include“xuartns550_l.h”#define UART_BASEADDR XPAR_UARTNS550_0_BASEADDR#define UART_CLOCK_HZ XPAR_UARTNS550_0_CLOCK_FREQ_HZ#define U
2020-10-15 10:54:56
5097
vivado2017.4制作zynq相关启动文件.docx
2019-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人