栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

使用CubeMX后ST-LINK不能烧录程序

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用CubeMX后ST-LINK不能烧录程序

问题:

使用CubeMX生成的代码烧录一次后,再使用st-link对stm32f103c8t6进行烧录时,keil显示“No target connected,提示框如下:

原因:

因为配置CubeMX时未勾选调试器,所以生成的代码把用于ST-LINK烧录的I/O配置成了其它模式,导致程序烧录一次后就无法再通过ST-LINK的SWD烧录方式进行程序的下载。

解决方案:

第一步:确保Debug->Settings->Flash Download下的Reset and Run进行了勾选。

第二步:

长按开发板的复位键,别松手!!!然后点击Keil的下载,在点击Keil的下载0.5s后,松开复位键,此后就可以正常使用ST-LINK了。就是这么简单!就是这么玄学!!

 背后原理:

STM32有复用重映射和调试I/O配置寄存器(AFIO_MAPR),通过配置这个寄存器,就可以切换不同的程序烧录方式。当我们按下复位键后AFIO_MAPR寄存器的位[26:24]默认为000,此时就可以使用JTAG或者SWD的方式进行程序的烧录了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/942573.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号