stm32使用SWD下载代码,发现keil端识别不了芯片

Posted 一剃解千愁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32使用SWD下载代码,发现keil端识别不了芯片相关的知识,希望对你有一定的参考价值。

旧的stm32芯片烧入不了代码,不代表芯片一定就坏了,有时恰恰是正常工作,只是SWD两个引脚在原来的板上被复用为普通IO口了

背景:
画了个飞控板,由于现在芯片“乱涨价”,买个芯片划不来,所以就把一个闲置的开发板的芯片取下来——STM32F405RGT6.
如图:
;;;

把元器件焊接好后,先检测有没有短路,没有短路,插入电脑,发现keil识别不了,起初红框处是空白的
在这里插入图片描述
检测电路:
1,用万用表的电压功能检测到: 5V输入正常,3.3v稳压正常
2,检查元器件是否焊错位,引脚是否有焊接反,:无,如stm32芯片有两个点,小的那端才是1脚,对应PCB的这个点,说明芯片安装也没有问题
在这里插入图片描述

结果:
那问题在哪呢?
突然想到启动方式的问题或者是原来这个芯片是采用低功耗模式,以前那个开发板python—stm32,一般最小板都会尽可能提供更多引脚给用户使用,果然,找到板子的资料,打开原理图,发现PA13和PA14被用在普通IO口,驱动LED了,所以应该是启动方式的问题
在这里插入图片描述
在这里插入图片描述
两个脚默认是SWD下载模式,现在被当作普通IO口,用作输出:

在这里插入图片描述
由于我设计的板子硬件刚刚好,采用BOOT1直接接地,长按按键拉高BOOT0,复位引脚低电平有效,利用电容的“阻直通交”,上电瞬间复位,然后电容自动拉高
在这里插入图片描述
恰好还有串口1,所以可以通过ISP下载,下载方式看我以前做的笔记
Flash loader demo下载与使用之最小系统STM32C8T6使用USB转TTL串口下载
这里简单说一下:利用usb转串口,连接板子的串口1,然后通过Flash loader demo,烧入一个F405的一个模板过程生成的.hex文件,这个工程的PA13和PA14必须是没改动的,默认就是的SWD连接串口1的前提是PA9,PA10原来在那个板子是作为TXRX。

如果想把默认的SWD改成普通IO功能,可必应搜索:把默认的SWD改成普通IO功能

还有其他方法请各位不吝赐教

以上问题可参考:
STM32仿真器检测不到内核,你的芯片坏了吗?
其实还有一些引脚默认不是IO的,比如PA15,PB3 ,PB4,,,一言难尽,,
如果是低功耗模式,也是更好一下启动模式,按复位,再切回正常模式,,,一言难尽,,

以上是关于stm32使用SWD下载代码,发现keil端识别不了芯片的主要内容,如果未能解决你的问题,请参考以下文章

STM32的SWD调试进不了main函数

stm32怎么烧录程序 stm32烧录程序都有哪些

使用 JFlashARM 烧录 STM32 程序

STM32----使用VSCode编写Keil

STM32----使用VSCode编写Keil

STM32----使用VSCode编写Keil