在JTAGE管脚复用实验中遇到的错误收集以及解决办法(MAX10 JTAG复用之后无法检测到JTAG 的解决方法)
一、JTAG pins 复用功能 和signal Tap II 都使用的时候发生的错误。
在JTAG没有复用的情况下完成编译下载,程序功能没有问题,使用SignalTap II抓取信号也没有问题。然后打开JTAG复用功能。
    
然后绑定再编译,那么问题开始了。
遇到第一个问题:在Fitter的时候出现错误,信息如下:
      
这个问题是软件问题,修改引脚配置的时候top文件没有修改就默认为冲突,只需要在top文件任意修改一个地方,加一个空格之类,然后保存然后再编译就可以通过。
接着出现第二个错误:
                Error (176310): Can't place multiple pins assigned to pin location Pin_19 (IOPAD_X10_Y16_N14)
        Info (176311): Pin led[0] is assigned to pin location Pin_19 (IOPAD_X10_Y16_N14)
        Info (176311): Pin ~ALTERA_TDI~ is assigned to pin location Pin_19 (IOPAD_X10_Y16_N14)
类似这样的,而且在PIN planner中会出现下面的四个管脚:
            
这几个管脚不应该会出现的啊,然后查找原因。最后发现是因为工程中加了SignalTap ii 的 .stp文件导致的,只要把这个文件从工程中去掉,或者直接删除就可以了,也就是说在复用JTAG的时候不能使用SignalTap ii。
然后编译之后就可以下载了。
二、JTAG pins 复用功能 启用之后,在第二次下载程序的时候无法找到JTAG 的解决方法
在MAX10上实验成功。
但是如果使能JTAG复用之后JTAG中有个别管脚没有使用,那么就会出现在第一次下载程序之后,在想下载程序的时候JTAG就提示找不到芯片的情况,这是因为JTAG复用的时候所有的管脚都要被指定管脚方向的原因。
             
解决办法是:
To regain access to the JTAG pins, hold either nCONFIG, nSTATUS or CONF_DONE pins low when reprogramming your device. This will prevent internal configuration from being successfully executed. You may then erase the CFM content from the device by holding either one of these pins low throughout the erase process. Once the erase is complete, you will then be able to regain access to the JTAG pins.
也就是说,在上电之前先将nCONFIG, nSTATUS 和 CONF_DONE三个管脚中的任一个拉低,阻止芯片在上电 的时候配置芯片内部的程序,然后再将芯片内的程序擦除。在擦出成功之后,再上电的时候JTAG就可以找到芯片了,然后下载新的程序就可以了。
擦出芯片内部程序的方法为:
1、在上电之前将nCONFIG, nSTATUS 和 CONF_DONE三个管脚中的任一个拉低,然后上电,最后在programmer 进行下面的1、2、3、4操作。
                          
2、接着进行下图的擦除操作:
                   
当擦除成功之后就可以进行重新的上电,重新正常的下载程序了。
    
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号