最专业的FPGA ZYNQ论坛--黑金动力社区

 找回密码
 注册
查看: 176|回复: 0

Nios添加 epcs controller IP 以后调用epcs_command.c程序运行卡在while循环里面

[复制链接]
icelyb24 发表于 2018-1-8 10:37:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
大家好。
我最近在看nios中通过epcs controller IP操作spi flash空间。

在这个过程中,通过调用hal的方式(调用altera_avalon_epcs_flash_controller.h)是可以进行epcs的操作。

但是由于这种方式需要的RAM资源比较大,我用的系统没有添加外部sdram,使用的是偏上ram,所以就考虑使用底层驱动(即调用epcs_commands.c)。

在使用epcs_commands.c中的函数的时候程序总是会卡在
int alt_avalon_spi_command(alt_u32 base, alt_u32 slave,
                           alt_u32 write_length, const alt_u8 * write_data,
                           alt_u32 read_length, alt_u8 * read_data,
                           alt_u32 flags)
函数的以下循环里面
  1.     do
  2.     {
  3.       status = IORD_ALTERA_AVALON_SPI_STATUS(base);
  4.     }
  5.     while (((status & ALTERA_AVALON_SPI_STATUS_TRDY_MSK) == 0 || credits == 0) &&
  6.             (status & ALTERA_AVALON_SPI_STATUS_RRDY_MSK) == 0);
复制代码
我通过网上找资料,看到有些网友说需要修改驱动,但是都没有说明具体的修改方法。

我个人软核方面基础比较差,哪位朋友有遇到过类似的问题,麻烦指点一下。

另外,程序中的base用的是epcs control的基地址,我不确定是不是这里存在问题

再次感谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|@2009-2016 芯驿电子科技(上海)有限公司|小黑屋|手机版|Archiver|黑金动力社区 ( 沪ICP备11013590沪公网安备 31011702000003号

GMT+8, 2018-4-24 16:20 , Processed in 0.069938 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表