近来在用NIOS2完成一个项目,遇到一个奇葩问题:前些天,用QuartusII11
0配合Qsys搭建了NIOS2Project,程序调好了,打算用板子上的EPCS64N固化一下代码
首先,把NIOS2的ResetVector设置为EPCS基地址,EPCS基地址则配置为0x00,然后在NIOS2中导出EPCS的四个引脚DCLK,SDO,SCE,DATA0并且连接和分配,再把Dual-PourposePin都设置为RegularI/OPins
然后使用的是EDS11
0,用EDS11
0的NIOS2FlashProgrammer,可以识别CPUID(Name,Timestamp都OK),发现可以正常擦出和烧写程序,但是……奇怪的事情是,RunasHardwareNIOS2程序可以正常运行
EDS11FlashProgrammer烧写之后,FPGA的硬逻辑部分可以正常运行,NIOS2的软逻辑(ELF文件生成的flsh)部分却始终无法执行,断电重启,复位都不好使,心拔凉拔凉的……按照别人帖子和Altera官方的JIC格式转化下载,同样还是NIOS2逻辑无法运行,以至于整个人都不好了
后来发现很多人都遇到这个奇葩问题,开始怀疑是软件的bug(因为不少人提到),后来把Quartus11,12
0都遍历一个遍,还是没有解决……今天,决定不用Quartus11的Qsys了,随便用SPPCBuilder配置了一个系统,发现竟然可以烧写了成功了,NIOS2程序部分可以正常执行了……这尼玛太让我抓狂了……我感觉是Qsys有bug,为毛SOPC下使用NIOS2IDE就可以正常烧写,这说明我的硬件没有问题
唯一区别就是,SOPC的ECPS可以正常烧写和启动,但是Qsys搭建的系统在EPCS烧写下就boot不起来了……NiosII下载程序到串行配置芯片EPCS方法:1在SOPCBuilde