继续学习NIOS II。
在调试uart出现一连串问题。把自带RS232的IP添加进去后,发现串口通信收发数据异常,参考网上实验教程,发现是打开了NIOS CPU的cache。重新完成后,发现uart果然正常收发数据了,但是led和key却没有反应了?!奇怪。显然,是打开cache引起的。上网查询,果然如此。打开cache,就不能直接对地址操作了,类似led=0xaa;就不行了。
LED=0x0; // 使PIO LED输出为0,此种方法在有数据CACHE时会失效
IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE,0x0); // 使PIO LED输出为0
或者IOWR(LED_BASE,0,0); // 使PIO LED输出为0
这样修改完成后,一切恢复正常。
今天继续调试,又出现了新问题。在执行NIOS程序代码时,不能下载了:
Pausing target processor:
not responding.
Resetting and trying again: FAILED
downloading ELF process failed
从网上查询知道,是sdram时钟与cpu时钟之间的问题,不过建议的方法一一试验过,均不起作用。最后,感觉是电路上可能出现问题。重新把引脚焊接一遍后,故障解除。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。