取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
Highlighted
888 次查看
注册日期: ‎02-20-2019

AXI quad SPI 无法产生中断

我们使用zynq z7035的平台,使用vivado2016.4 SDK进行开发。

在verilog中我们连线spi_intrp port 到 sys_concat_intc 后续链接到 IRQ_F2P[15:0]

我们又写了简单程序测试中断。

request_irq(irq_num, inter_handler, NULL, DEVICE_NAME, deviceid)

但是inter_handler 无法被触发调用。

我确认SPI的中断register设置都是对的,我应该如何debug?

如何debug从verilog code 到硬件,然后到软件

 

多谢大侠 

0 项奖励
10 回复数
Highlighted
Xilinx Employee
Xilinx Employee
830 次查看
注册日期: ‎06-02-2017

Hi aaron.ma@agarcorp.com ,

硬件层面:

    可以用ILA来抓取中断信号,配合软件,检查是否的确有中断发生。

软件层面:

    确定QSPI的操作是否正常,可以参考SDK中提供的QSPI Polled example。

    确定中断初始化及配置方式是否正确。可以比对其他中断源,比如GPIO中断及SDK中提供的GPIO中断的example;也可以直接参考SDK中提供的QSPI intr example。

 

0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
824 次查看
注册日期: ‎04-15-2011

aaron.ma@agarcorp.com 

除了letter的调试建议外,我看到你说在Verilog里做的连线。请确认你的所有IP都在同一个block design里添加,并进行连线,然后导出到SDK。不然SDK生成的xparameters.h不一定包含正确的中断信息,比如中断号等。

另外,下面AR有个例子,你可以参考一下。

https://www.xilinx.com/support/answers/50572.html

Thanks,

Longley

 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Highlighted
802 次查看
注册日期: ‎02-20-2019

Letter, and Long

kudos at first.

我是接手一个离职员工的工作。资料信息需要我进一步补足。

关于Xilinx 和 Vivado 2016.4SDK, 开发过程是否有教程?请给我一个链接吧?

我感觉你们提出的建议,我缺少不少背景知识。

尤其那个xparameters.h, 在哪里?

还有SDK的例子在那个folder?

 

多谢

kudos

0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
782 次查看
注册日期: ‎06-02-2017

Hi aaron.ma@agarcorp.com 

Xilinx的官方文档有相关的教程,比如:UG821,UG1165,UG940,UG898等(可以在xilinx网站上直接搜索这些编号)

另外,网上也有一些教程,偏向基础的,比如:

https://github.com/wady101/Embedded-System-Design-Flow-on-Zynq

也有一些比较进阶的,比如

https://ems.eit.uni-kl.de/en/courses/online-courses-and-distance-studies/xilinx-zynq/

0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
779 次查看
注册日期: ‎06-02-2017

Hi aaron.ma@agarcorp.com 

之前所提的example可以参考图片流程打开。

打开BSP的mss文件,外设驱动列表中找到axi_quad_spi_0,后边的import example,提供了很多样例,可以根据设计需求选择。

也可以直接在安装目录下找到,大致如下:

C:\Xilinx\SDK\2018.2\data\embeddedsw\XilinxProcessorIPLib\drivers\spi_v4_2\examples

 

xparameters.h文件时根据硬件配置信息在XSDK中生成的,在你的BSP目录ps7_cortexa9_0->include下。

 

xsdk-xspi.JPG
0 项奖励
Highlighted
757 次查看
注册日期: ‎02-20-2019

letter,

你好,多谢指导。

那个BSP, system.mss 在哪个文件夹里,是否要单独产生。

 

aaron

0 项奖励
Highlighted
752 次查看
注册日期: ‎02-20-2019

letter,

那个BSP folder and system.mss, 已经找到。

但是我import example 以后,我发现出现以下macro definition is missing.

XPAR_INTC_0_DEVICE_ID

XPAR_INTC_0_SPI_0_VEC_ID

the above intc controller defintion needed from other library? if so, do I have to include some other library?

 

SnipImage.JPG
0 项奖励
Highlighted
751 次查看
注册日期: ‎02-20-2019

letter,

wrong attached image file, please ignore

下面这个是正确的附件。

macromissing.png
0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
709 次查看
注册日期: ‎06-02-2017

Hi aaron.ma@agarcorp.com 

建议您先了解一下Xilinx SDK的设计流程。

这些未定义的内容都存在于根据Vivado工程的配置信息生成的xparameters.h文件中。

需要根据实际生成的内容做必要的修改。

0 项奖励
Highlighted
691 次查看
注册日期: ‎02-20-2019

谢谢指点。

已经解决了。

0 项奖励