|
我的软核和NIOS程序是在Cyclone I(EP1C12Q240)上面的开发板做的实验,最后都能跑起来,QUARTUS版本用的是9.1SP1,后来自己做板子,一些原因使我最后换成了Cyclone III(EP3C25Q240)的芯片,最后产生的问题一大堆,下面我一一罗列出来!(所有NIOS程序都是用UCOS来编写)
1.首先用Cyclone III+9.1SP1,将以前的代码移植过来,加上EPCS的控制,这个是Cyclone III的特别之处,最后编译出来之后,无法DEBUG,进入到DEBUG页面但是无法进入MAIN函数,一直处于运行状态,但实际程序没跑起来,然后我在QUARTUS里面做一些小修改,比如将一些管脚不分配,又会出现SDRAM的校验出错的情况,还有的时候又一起正常,能进入到DEBUG里面,程序也能调试。
2.用Cyclone III+9.1SP1,自己再重新建一个工程,将我的外设一个个重新加进去,简单的情况,比如只加LED灯,或者LED灯+UART,整个系统能正常跑,但是我将系统加复杂点,比如UART的发送接收方式改为DMA方式,即加2个DMA进去,又会出现1里面的怪异问题。
3.试着换换QUARTUS的版本,Cyclone III+7.2SP3,在这个版本下面所有一起正常,就和我刚开始用Cyclone I开发板一样,只不过编译出来会有好多的警告,很多时序不满足的警告,但是不管我怎么修改软核里的外设或者地址等,一直都很稳定。后来改成Cyclone III+10.0SP1,结果和Cyclone III+9.1SP1一样,问题乱七八糟。
4.所有的版本都无法通过NIOS里面的变成对EPCS编程,都是在一些位置Erase和Program失败。
前面罗列了如此之多的问题,希望有兄弟能给我分析分析,不知道有没可能是FPGA芯片有问题,因为我就焊接了一块电路板。 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|