单片机学习小组
登录
直播中
万物死
8年用户
1283经验值
擅长:MEMS/传感技术
私信
关注
怎样去解决HAL库外部中断的程序出bug的问题呢
开启该帖子的消息推送
外部中断
HAL库
程序
为什么HAL库外部中断的程序在测试时会出bug呢?
怎样去解决HAL库外部中断的程序出bug的问题呢?
回帖
(1)
傅利
2022-1-20 09:10:16
正文
今天测试HAL库的外部中断的时候发现程序出了一点小bug,就想下载之前的固件库程序对比一下。可是当下载之前完整的程序时弹出no target connected。如图
一直很奇怪魔法棒的配置没有问题,也在设备管理器上看到了ST-Link已连接。程序都是之前的程序,没有任何问题。但是Debug的SWDIO里面一直显示No target connected。想了一会儿应该是之前下载了HAL库的程序有问题,在网上搜找了许多资料,最后判定为之前的程序占用了SWD的引脚,导致现在固件库的程序一直下载不进去。那只能把之前的程序都删除了,但是单纯按复位键是不能清除之前的程序,这让我想起来了ST公司的ST-LINK Utility这个软件可以强制擦除扇区。于是使用Utility先连接device,之后擦除,再断开连接
STM32 ST-LINK Utility这个软件工具其实主要就是配套“ST-LINK”这个下载工具一起使用的上位机软件。因此使用STM32 ST-LINK Utility上位机软件需要有一个ST-LINK工具才行。它的功能和J-Link对应的工具类似,用于烧写代码。
STM32 ST-LINK Utility工具在产品开发过程中测试一些其他版本的代码,可以直接下载hex,而不用打开工程再编译去下载。 当你开发完一个STM32产品,需要量产的时候,就可以用这个工具直接下载hex代码,对代码加密(读保护)
这里我把最新版本直接上传到CSDN,链接在文首,就不必去ST官网注册下载了。
擦除完毕之后,再下载固件库之前的程序就没有报错!
但是,这里问题还没有结束!!!第一次下载没有任何问题,但是!第二次下载程序就会出现这种报错
这个时候打开魔术棒,依次打开Debug->Settings->Flash Download->Erase full chip,选择它即可
此时第二次下载就没有问题了。
下面再说说unknow target connected的问题,实际上很简单,当我下载完固件库的程序后再下载CubeMX生成的时候,它默认接的是JTAG模式,此时把它改成SW下载模式就没有问题啦!
此外报错应该还有其他的原因,这里只是列举了我恰好遇到的一种,其他报错就需要小伙伴们耐心地一点去寻找了。
正文
今天测试HAL库的外部中断的时候发现程序出了一点小bug,就想下载之前的固件库程序对比一下。可是当下载之前完整的程序时弹出no target connected。如图
一直很奇怪魔法棒的配置没有问题,也在设备管理器上看到了ST-Link已连接。程序都是之前的程序,没有任何问题。但是Debug的SWDIO里面一直显示No target connected。想了一会儿应该是之前下载了HAL库的程序有问题,在网上搜找了许多资料,最后判定为之前的程序占用了SWD的引脚,导致现在固件库的程序一直下载不进去。那只能把之前的程序都删除了,但是单纯按复位键是不能清除之前的程序,这让我想起来了ST公司的ST-LINK Utility这个软件可以强制擦除扇区。于是使用Utility先连接device,之后擦除,再断开连接
STM32 ST-LINK Utility这个软件工具其实主要就是配套“ST-LINK”这个下载工具一起使用的上位机软件。因此使用STM32 ST-LINK Utility上位机软件需要有一个ST-LINK工具才行。它的功能和J-Link对应的工具类似,用于烧写代码。
STM32 ST-LINK Utility工具在产品开发过程中测试一些其他版本的代码,可以直接下载hex,而不用打开工程再编译去下载。 当你开发完一个STM32产品,需要量产的时候,就可以用这个工具直接下载hex代码,对代码加密(读保护)
这里我把最新版本直接上传到CSDN,链接在文首,就不必去ST官网注册下载了。
擦除完毕之后,再下载固件库之前的程序就没有报错!
但是,这里问题还没有结束!!!第一次下载没有任何问题,但是!第二次下载程序就会出现这种报错
这个时候打开魔术棒,依次打开Debug->Settings->Flash Download->Erase full chip,选择它即可
此时第二次下载就没有问题了。
下面再说说unknow target connected的问题,实际上很简单,当我下载完固件库的程序后再下载CubeMX生成的时候,它默认接的是JTAG模式,此时把它改成SW下载模式就没有问题啦!
此外报错应该还有其他的原因,这里只是列举了我恰好遇到的一种,其他报错就需要小伙伴们耐心地一点去寻找了。
举报
更多回帖
rotate(-90deg);
回复
相关问答
外部中断
HAL库
程序
为什么STM32CUBE
HAL
库
的串口加入接收
中断
后开始
出
bug
了
2021-12-14
1015
如何
去
实现
HAL
库
的GPIO
外部
中断
的回调函数
呢
2021-12-01
2170
基于usart的
HAL
库
的
中断
问题有哪些?
怎样
去
解决
2021-12-10
1428
怎样
去
使用
HAL
库
中断
接收函数
呢
2021-11-16
999
基于
HAL
库
的GPIO操作该
怎样
去
实现
呢
2022-01-18
1283
如何
去
实现基于
HAL
库
的Printf函数功能重定向
呢
2021-10-15
2769
基于stm32
HAL
库
的Openmv
程序
该
怎样
去
实现
呢
2021-12-08
658
如何使用STM32的
HAL
库
去
配置一个引脚
中断
呢
2021-11-16
1292
怎样
去
开发STM32_
HAL
库
的看门狗
呢
2021-09-16
839
怎样
去
使用串口空闲
中断
避免数据丢失
呢
2021-12-09
2258
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分