今天测试了刚拿到的带SDRAM和FlASH的EP2C8版子,终于在熄灯前把SDRAM给用起来了,很好,说两句心得
SDRAM程序基本上是按照SOPC联盟的教程来做的,不过里面也有些不详细的地方
点击此处下载 ourdev_251066.pdf(文件大小:3.04M) (原文件名:NIOS_Design_Guider(Rev2.1).pdf)
附下载
1)莫名奇妙的错误,所有Nios程序都跑不了,出现以下提示:
Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Resetting and pausing target processor: FAILED
Leaving target processor paused
解决办法:
网上搜了下,这个问题要先排查硬件,再考虑软件问题,Altera公司的解决办法是装7.2版本,服了他。
首先检查了SDRAM的接线,没发现“特别”的问题(见后)
之后用以前的板子EP2C5跑相同的程序,无问题
应该不是证书问题。。。。。
最后发现新板子晶振接引脚23,老板子接引脚132,郁闷,原来晶振根本没起振。
2)貌似是常见问题
结果运行时,显示代码下载成功
Downloaded XXKB in XXs(XXKB/S)
verifying 00000000(0%)
verify failed between address ox00000000 and 0xXXXXXXXX
leaving target paused
原因:SDRAM没有正常工作,address正是我内存分配的地址
解决:仔细又检查了一遍接线,SDRAM的CLK竟然没有接入任何信号。这儿书上没有提到,分配引脚也忘了这个脚,再次晕倒。
拉来50MHzPLL,SDRAM总算可以正常工作了,虽然用了好几十根引脚,但再也不用烦恼NIOS内存不够了,很开心,see you!
(原文件名:ee16721059b0e9eec2ce7936.jpg)
3)补充,PLL的相位可能也影响SDRAM的正常工作,今天用0相位的SDRAM就不工作了
于是修改成-135°,待研究考证 |
|