admin 发表于 2021-5-31 11:22:17

【小梅哥FPGA】'Launching New_configuration' has encountered a problem

'Launching New_configuration' has encountered a problem.
Downloading ELF Process failed



特征,Run过程的第一阶段,也就是(Downloading)中一切顺利,都能下载,而第二阶段,也就是校验(Verifying)时候会在最后一步报错,报一个地址校验出错,而这个地址,如果你仔细去查看system.h或者Qsys中的地址分配,会发现正是EPCS存储器的地址段。所以这一个报错从原理上就很好解释了。程序下载的时候,虽然也对这一地址写入,但是由于FLASH的写入操作和普通的RAM是有很大区别的,所以这一步写入本质上是不会成功的,(我们对EPCS的烧写都是使用的专用的烧录软件Flash Programmer)。由于这一地址段并没有写入正确的程序,所以校验是失败的。因此程序也就不会开始运行。这种情况下我还遇见了一个比较有意思的现象,就是一次下载失败了,报这个错没有运行起来,我马上准备重新下载一次,结果只要我一打开Run的界面,都不用点击Run的按钮,电路板上的程序又开始运行起来了,这实际上是在打开Run界面的过程中,JTAG会向CPU发出指令,从而让CPU从暂停状态开始运行,就能运行成功了。另外,只要是在QSYS中将CPU的复位地址指定为了EPCS,那么这个程序在使用Run的方式运行的时候,都是无法复位的,只要一按下复位键,系统就再也起不来了,这也是因为复位的相关数据并没有在Download阶段正确写入EPCS。不过不要紧,针对这种情况,我总结的三步调试法,能够很可靠的避免这些问题干扰调试。1、不能让EPCS中有NIOS的相关程序。可以擦除或烧入个不含NIOSII 的固件,此操作执行过一次就行。2、每次Run之前,先重新下载sof文件到FPGA。
3、确保bsp-editor中的allow_code_at_reset和enable_alt_load两个选项没有被勾选。

页: [1]
查看完整版本: 【小梅哥FPGA】'Launching New_configuration' has encountered a problem