完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
大家好,
我在Vivado 2016.1中开发了AXI外设。 我可以成功实现它。 但我遇到了软件代码中的一个问题。 我的AXI外设有11个寄存器。 当我使用Xil_Out32和Xil_In32函数写入/读取寄存器时,我在调试时遇到以下错误: 没有可用于“Xil_DataAbortHandler()”的源视图反汇编 当我单击“View disassembly”反汇编窗口打开并指向以00100ae0开头的行时:在下面的汇编代码中。 Xil_DataAbortHandler: 00100adc:mrc 15,0,r3,cr5,cr0,{0} 00100ae0:b 0x100ae0 Xil_PrefetchAbortHandler: 00100ae4:mrc 15,0,r3,cr5,cr0,{1} 00100ae8:b 0x100ae8 但是当我按如下方式编写软件代码时,它运行良好。 #包括 #包括 #包括 Xuint32 * baseaddr_p =(Xuint32 *)XPAR_my_ip_0_S00_AXI_BASEADDR; int main() { *(baseaddr_p + 6)= 0x00000001; //工作正常 *(baseaddr_p + 6)= 0x00000000; //工作正常 //如果我用以下2行替换2行以上,我会得到错误 // Xil_Out32(XPAR_my_ip_0_S00_AXI_BASEADDR + 6,0x00000001); // Xil_Out32(XPAR_my_ip_0_S00_AXI_BASEADDR + 6,0x00000000); 返回0; 可能是什么原因........? 谢谢和问候,Musthafa |
|
相关推荐
3个回答
|
|
数据中止处理程序通常意味着您访问了错误的地址。
在您的情况下,您发布的两个代码段不相同。 *(baseaddr_p + 6)= 0x00000001; //工作正常 *(baseaddr_p + 6)= 0x00000000; //工作正常 在这里,您将指针递增6个字,然后取消引用它。 因此,例如,如果XPAR_my_ip_0_S00_AXI_BASEADDR = 0x10000000,那么baseaddr_p + 6的结果将是0x10000018,这是一个字对齐访问。 对于其他代码段: // Xil_Out32(XPAR_my_ip_0_S00_AXI_BASEADDR + 6,0x00000001); XPAR_my_ip_0_S00_AXI_BASEADDR + 6是0x10000006,这是一个未对齐的访问。 www.xilinx.com 在原帖中查看解决方案 |
|
|
|
数据中止处理程序通常意味着您访问了错误的地址。
在您的情况下,您发布的两个代码段不相同。 *(baseaddr_p + 6)= 0x00000001; //工作正常 *(baseaddr_p + 6)= 0x00000000; //工作正常 在这里,您将指针递增6个字,然后取消引用它。 因此,例如,如果XPAR_my_ip_0_S00_AXI_BASEADDR = 0x10000000,那么baseaddr_p + 6的结果将是0x10000018,这是一个字对齐访问。 对于其他代码段: // Xil_Out32(XPAR_my_ip_0_S00_AXI_BASEADDR + 6,0x00000001); XPAR_my_ip_0_S00_AXI_BASEADDR + 6是0x10000006,这是一个未对齐的访问。 www.xilinx.com |
|
|
|
嗨@ bwiec,
谢谢。 你是对的。 当我们使用Xil_Out32 / Xil_In32时,偏移量应该是4的倍数。所以在我的情况下,我应该写如下: Xil_Out32(XPAR_my_ip_0_S00_AXI_BASEADDR + 24,0x00000001) 即我应该使用24(=(6 x 4))而不是6作为偏移量。 现在它正在发挥作用。 问候, Musthafa |
|
|
|
只有小组成员才能发言,加入小组>>
2420 浏览 7 评论
2823 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2294 浏览 9 评论
3374 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2461 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1172浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
585浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
451浏览 1评论
2005浏览 0评论
729浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 15:45 , Processed in 1.251690 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号