美文网首页
STM32F103 SWD被锁的挽救方法

STM32F103 SWD被锁的挽救方法

作者: 小鱼儿他老汉 | 来源:发表于2018-11-10 07:46 被阅读307次

    芯片被锁

    昨晚做实验,从STM32CubeMX导出的CAN工程编译、下载、运行到main()中HAL初始化后,Keil忽然抛出错误,无法访问SWD。一连两片STM32F103C8都被锁死。我还以为是我的STLinkV2有问题,一连换了两个Dongle,都是如此。

    这让我联想起之前似乎也有过此现象,当时是STM32CubeMX导出的USB CDC工程编译下载后SWD无法访问。

    当时不知道是芯片损坏、被锁还是什么情况。忧心忡忡地睡觉去了。

    灵光一现

    早起,蓦然想起在STM32CubeMX生成时或许没有使能SWD总线。那芯片下载运行后,SWD会作为GPIO来使用。这种情况下,只有ISP bootloader是可以使用了。

    等清楚了Boot0/Boot1的引脚位置和UART1的引脚位置;插上USB/UART转换器,安装软件,连接芯片,果然ISP bootloader是可以连接的。然后擦除芯片,连接SWD。

    SWD总线又可以访问了。很棒!

    SRAM启动

    除了正常Flash启动和ISP启动,Boot0/Boot1=1的话,可以从SRAM启动,这种方式我倒是没有尝试过。传说中可以在不损害Flash代码的前提下,下载部分调试代码到RAM中去。问题在于这部分代码是通过SWD还是Bootloader下载的?

    相关文章

      网友评论

          本文标题:STM32F103 SWD被锁的挽救方法

          本文链接:https://www.haomeiwen.com/subject/jdaaxqtx.html