飞道的博客

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

543人阅读  评论(0)

背景:
画了个飞控板,由于现在芯片“乱涨价”,买个芯片划不来,所以就把一个闲置的开发板的芯片取下来——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
如果想把默认的SWD改成普通IO功能,可必应搜索:把默认的SWD改成普通IO功能

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


转载:https://blog.csdn.net/weixin_45456099/article/details/117481520
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场