低功耗深度休眠后无法唤醒、烧录程序,怎么办?(华大半导体 HC32L136)

问题陈述:
某日,本人在调测华大半导体单片机(HC32L136)低功耗时,一时恍惚,在没有唤醒中断的情况下,将上电延时函数删除,使系统上电后就立即进入低功耗深度休眠,导致无法唤醒、烧录程序,多次使用复位按键唤醒,碰运气烧录程序,未果,查找资料、联系华大代理,寻得以下行之有效的方法。
解决方法:
华大半导体单片机资料包:仿真及编程工具中:CCID 在线离线编程器、Cortex-M 离线编程器和 Cortex-M 在线编程器三种方式均可支持深度休眠状态下程序擦除,其原理是,这些编程器擦除以及烧录程序是使用 TX、RX 引脚,而不是仿真器,可使用 IO 烧录程序。

以 Cortex-M 在线编程器为例(其他两种方式要购买专门的华大烧录模块,成本贵,不推荐),使用普通常用的 USB 转串口 TTL 模块(需要注意串口是有影响的,刚开始我使用 PL2303 串口一直失败,换成 CH340 就立刻成功)与目标 MCU 连接,即可烧录程序,如下图所示:

具体型号芯片与串口模块的接线方法这里是有差异的,各位使用时也需留意区分。

HC32L136 就采用以下连接方式(RXD 和 TXD 两组不一定都有效,像我用的 HC32L136,RXD:PA14 和 TXD:PA13 就无法打开串口):

硬件连接成功后就可以使用“HDSC.exe” 软件擦除或上传烧写程序,抹除休眠程序,效果如下所示:

版权声明: 本文为 InfoQ 作者【不脱发的程序猿】的原创文章。
原文链接:【http://xie.infoq.cn/article/5d1270d59e286f117441f52da】。文章转载请联系作者。
评论