使用NIOSIDE在下载程序到FLASH的时候发生如下错误:
Using cable "USB-Blaster [USB-0]", device 1, instance 0x00
Resetting and pausing target processor: FAILED
Leaving target processor paused
在真OO无双的博客
(原創) 如何解決Nios II的『Leaving target processor paused』的錯誤訊息? (IC Design) (Quartus II) (SOPC Builder) (Nios II)
/oomusou/archive//12/01/979534.html
对这个问题阐述非常详细
经过仔细检查,排除了引脚分配错误。而且,只是下载到FLASH,而没有用到SDRAM,所以应该和SDRAM没有关系。
在网上搜索的许多资料,折腾了好几天。最终将错误锁定到了CPU核心没有工作。
导致这个错误的原因有两个:一个是没有正确配置CPU 的复位端口;另一个是CPU的时钟没起作用。
于是修改了复位引脚,将原来的复位计数器去掉,直接将复位端加到芯片引脚。之后依然出现错误。
这是可以断定,错误的产生是由于时钟的原因。将PLL的时钟输出引导芯片外部,用电压表测量为0V。在QUARTUS中去掉PLL,直接用外部时钟输入到CPU,目的是为了验证我的推断。结果是可以通过CPU 的响应测试。果然是PLL出了问题。
一开始还以为是芯片的PLL坏了,换了一个别的工程,PLL正常,于是考虑是设计的问题。最初系统设计如图:
经过反复试验后发现,问题就处在PLL的复位端。当不使用PLL复位的时候系统能够正常工作,一旦使用了,就不输出时钟了。原因是当系统的复位结束后,PLL的复位变为了高电平,这正是PLL的复位电平,因此PLL一直处于复位状态。难怪没有CLK输出了。
更改电路,加上了一个反相器。
PLL终于正确工作了。FLASH的程序也能正常下载了,说明CPU工作正常了。如下图:
在此,仅仅是提供一个调试的错误原因思路,此类错误可能是PLL导致的。所以如果PLL真的坏了,那就真的悲剧了。
转自:/red_knight/article/details/6098857