项目场景:
项目中遇到一个很尴尬的情况,把发生原因和解决办法分享出来,希望可以帮到有需要的人
问题描述
在使用中,由于疏忽大意,在布局的时候为了方便走线就随便调了几个io口走线,板子回来后发现引脚一直是高电平、
通过查询芯片手册发现这个脚默认是调试口,不是普通io
所以你说尴尬不尴尬,但是已经这么搞了,只能想办法解决了,底下写了可以通过引脚复用解决这个问题,将这个口当做普通io口使用。
那么好,接下来我就复用呗,多大点事。
然后尴尬的来了
我用的是gpio_pin_remap_config(GPIO_SWJ_DISABLE_REMAP, ENABLE)
我用的是jlink所以
正确的应该使用gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP, ENABLE)
这就导致了一个问题,swd和jtag全部被禁用了,当烧进去的一瞬间我就知道完蛋了。
芯片的烧录脚全部被禁用了,只能通过isp烧录了,寄!
解决方案:
1、通过硬件跳线,强制复位,拉低复位引脚
2、通过J-Flash擦除flash信息
3、此时会卡在等待连接界面
4、断开拉低复位引脚的跳线,此时可以正常清除flash(多次尝试)
5、此时芯片引脚会被复位成默认出厂状态,芯片解锁