| 最后,总结一下,遇到锁死在0xFFFFFFFE时,可能的原因和排查办法: 
 1. 目标板没有上电,仅靠调试器管脚上的一点电流在运行。这种情况下可能电流不够,导致下载运行的程序根本就不对;    建议:给目标板接上外接电源。 
 2. Keil太聪明,它认为你的板子应该有程序,所以不下载程序到班子,但是实际上板子可能是空白flash。    例如:先用Keil下载并调试板子A;然后换上板子B,直接点Keil的“调试”。这时候Keil以为连接的还是板子A, 所以它并不再次下载。    建议:每次调试之前,按F7重新link一下程序,Keil就保证会再次下载了。 
 3. Keil Project设定为:Debugger时不要下载程序。那板子上可能就没程序了。    建议:打开对话框:Project->Options->Utilities->Update Target before Debugging,确信这一项有打上勾。 
 4. Nu-Link驱动中选择的“Chip Type”和目标板不匹配,运行的结果不可预料。    建议:    对于Keil, 打开对话框:Project->Options->Debug->Nu-Link Debugger->Settings,确信Chip Type没有和目标板一致。    对于IAR, 打开对话框:Project->Options->General Options->Target->Device,确信Device类型和目标板一致。    (Nu-Link 4117rc之后版本的Nu-Link, 会检测芯片类型,报告不一致的情况)。 
 5. Nu-Link/Keil关于flash utility的设定,没有选择擦除。    Flash写之前需要擦除的,然而为了客户特殊需要以及和Ulink界面的一致,Nu-Link仍旧允许写之前不擦除。    建议:写之前不擦除,用户会受到警告,请留意警告信息。    如需修改此设定,可打开对话框:Project->Options->Utilities->Nu-Link Debugger->Settings->Download functions处修改。 
 6. 程序的确是写错了;    建议:没有建议了^_^ 
 |