IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> CubeMX生成的代码烧录一次后无法再烧录(识别)STM32,需按住reset后放开才能烧录 -> 正文阅读

[嵌入式]CubeMX生成的代码烧录一次后无法再烧录(识别)STM32,需按住reset后放开才能烧录

序言

其实很早就遇见过这个问题,但因为这个问题太小太基础了,就没有做记录。但是过了很久过后再重新回来用CubeMX做STM32开发的时候却总是记不住这点小设置,所以又回来写一下这个。

这个小问题会在不同的软件里引发各式各样不同的报错。大家很多时候都喜欢直接把报错说明拿去百度。本来为了大家检索方便应该把报错都放在这里,但作者也懒,懒得去把每个说明说明复制粘贴到这里,但是如果大家遇到了可以私发给作者,我加在这个后面

一、问题出现的环境

使用CubeMX自动生成HAL库的代码,System Core->SYS->Debug选择的是No Debug

在默认情况下这个选项的选择就是No Debug

二、原因分析

这个设置会导致在生成的stm32f1xx_hal_msp.c文件下的出现以下代码

__HAL_AFIO_REMAP_SWJ_DISABLE();

而这段代码表示禁用JTAG-DP和SW-DP(JTAG-DP和SW-DP是什么这里就不做过多说明了,自行百度)

其实CubeMX生成的注释就有明确的说明,只是一般没事不会去看它而已

三、问题解决

方法一

有以上的分析解决方法也很明显了,改一下System Core->SYS->Debug选择就行。(SWD的话在这里的选择是Serial Wire或者Trace Asynchronous Sw)(代码一样的,详见下文)

这后面四个选项分别会生成以下四种代码,具体是什么注释说得很清晰了,就直接复制粘贴官方注释了

__HAL_AFIO_REMAP_SWJ_NOJTAG();
/*Serial Wire*//** NOJTAG: JTAG-DP Disabled and SW-DP Enabled*/

__HAL_AFIO_REMAP_SWJ_NONJTRST();
/*JTAG(4 pins)*//** NONJTRST: Full SWJ (JTAG-DP + SW-DP) but without NJTRST*/

__HAL_AFIO_REMAP_SWJ_ENABLE();
/*JTAG(5 pins)*//** ENABLE: Full SWJ (JTAG-DP + SW-DP): Reset State*/

__HAL_AFIO_REMAP_SWJ_NOJTAG();
/*Trace Asynchronous Sw*//** NOJTAG: JTAG-DP Disabled and SW-DP Enabled*/

方法二

改设置可以,直接修改stm32f1xx_hal_msp.c下的这段代码也行,注意下次生成的时候可能被覆盖的问题就行了。

四、再次烧录

相信你都来看这个博客了那肯定是遇到了难烧录或者无法烧录的问题了。在这种情况下的烧录比较麻烦,需要有reset按钮或者自行短接

首先需要按住reset按钮再点下载,让其能识别到你的芯片,然后在马上要烧录程序的时候松开reset就行了。需要精准的把控松开的时间,基本上靠感觉是开始1s左右松开,很玄妙,自行把握一下。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-10-12 23:37:07  更:2021-10-12 23:39:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:51:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码