|
本帖最后由 fangying712 于 2014-4-17 00:04 编辑
近来在用NIOS2完成一个项目,遇到一个奇葩问题:
前些天,用Quartus II 11.0 配合 Qsys搭建了NIOS2 Project,程序调好了,打算用板子上的EPCS64N 固化一下代码。首先,把 NIOS2的Reset Vector设置为EPCS基地址,EPCS基地址则配置为0x00,然后在NIOS2中导出EPCS的四个引脚DCLK,SDO,SCE,DATA0并且连接和分配,再把Dual-Pourpose Pin 都设置为Regular I/O Pins。然后使用的是 EDS 11.0,用EDS 11.0的 NIOS2 Flash Programmer,可以识别CPU ID(Name ,Timestamp都OK),发现可以正常擦出和烧写程序,
但是……
奇怪的事情是,Run as Hardware NIOS2 程序 可以正常运行。EDS11 Flash Programmer 烧写之后,FPGA的硬逻辑部分可以正常运行,NIOS2 的软逻辑(ELF文件生成的flsh)部分却始终无法执行,断电重启,复位都不好使,心拔凉拔凉的……
按照别人帖子和Altera官方的JIC格式转化下载,同样还是NIOS2逻辑无法运行,以至于整个人都不好了。后来发现很多人都遇到这个奇葩问题,开始怀疑是软件的bug(因为不少人提到),后来把Quartus 11,12.1,13.0都遍历一个遍,还是没有解决……
今天,决定不用Quartus 11 的Qsys了,随便用SPPC Builder配置了一个系统,发现竟然可以烧写了成功了,NIOS2程序部分可以正常执行了……
这尼玛太让我抓狂了……我感觉是Qsys有bug,为毛SOPC下使用 NIOS2 IDE就可以正常烧写,这说明我的硬件没有问题。唯一区别就是,SOPC的ECPS可以正常烧写和启动,但是Qsys搭建的系统在EPCS烧写下就boot不起来了…… |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|