Nios2烧录踩坑 烧录失败/成功不运行

烧录失败

No EPCS layout data --- looking for section [EPCS-xxxxx]

原因:不同公司的SPIFlash有不同的ID,并且不同大小的Flash的Sector大小及个数都不一样,所以需要新建一个文档去说明这些数据
解决办法:通过nios的flashprogrammer生成烧录脚本,添加--override参数说明
quartus版本号18、niosⅡeclipse

任意位置新建nios2-flash-override.txt文件

错误提示是LOOKING FOR SECTION [EPCS-XXXXXX],而自己板上的FLASH是EPCS16N,则写入

[EPCS-XXXXXX]# EPCS16N (lead-free)
sector_size = 65536
sector_count = 32

sector_size和sector_count可以从所用的FLASH手册查找
参考

        sector_size = 32768
        sector_count = 4
        [EPCS-202013]  # EPCS4N (lead-free)
        sector_size = 65536
        sector_count = 8
        [EPCS-202015]  # EPCS16N (lead-free)
        sector_size = 65536
        sector_count = 32
        [EPCS-202017]  # EPCS64N (lead-free)
        sector_size = 65536
        sector_count = 128

这个txt的文件位置要记下来,比如我的C:\intelFPGA\18.0\nios2eds\bin\nios2-flash-override.txt

再次运行flash programmer添加sof和elf文件烧录start 出现报错(这一步是为了获得script文件)

在你的quartus项目里会出现一个script文件里面有一个

记事本打开:(我这已经修改过了,增加了override)
在两个programmer后面分别增加--override=c:/intelFPGA/18.0/nios2eds/bin/nios2-flash-override.txt这个txt的文件路径自己修改即可

打开C:\intelFPGA\18.0\nios2eds\Nios II Command Shell.bat烧录

打开后通过cd命令到当前项目文件夹script目录下执行 ./flash_programmer.sh

参考文章

烧录完成不运行

之前通过flash programmer直接添加sof和elf文件后不运行
解决方法:
1.勾选擦除

2.使用上述解决烧录问题的niosprogrammerbat烧录完成后 断电 重启 正常运行了!

posted @ 2023-04-03 09:35  Mengtre  阅读(567)  评论(0)    收藏  举报