在调试飞思卡尔HCS12系列单片机时候,CodeWarrior 总是显示无法连接到 Target,经过无数次努力终于找到问题的原因。原来是调试电路有问题。
下图1为我采用的BDM调试电路和复位电路,其中J10连接器引脚与图2中的引脚是一一对应的。可以看到J10的引脚4没有直接接到复位NET上,而是通过电容C5接到了DGND上。飞思卡尔BDM接口中的引脚4需要直接连接到MCU的RESET引脚。所以我的电路是有问题的,我把板子上已经焊好的C5电容去掉,然后用导线将J10的引脚4连接到MCU的RESET引脚。然后问题解决了。
图1 调试电路和复位电路
图2 BDM接口
经过这段时间的调试,我的经验是:如果在调试单片机的时候,发现总是连接不上目标(Target),大家需要做的是,首先检查单片机最小系统原理图是否正确,如果MCU最小系统除了错,那么很有可能就无法正常调试;再正确的基础上,然后给板子上电,使用万用表和示波器按照最小系统原理图逐个排查,分别检查MCU的电源地网络是否正常,观察时钟电路波形是否准确,检查复位电路是否满足要求,而且要好好检查BDM调试电路的引脚接法是否正确。