完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
正文
今天测试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下载模式就没有问题啦! 此外报错应该还有其他的原因,这里只是列举了我恰好遇到的一种,其他报错就需要小伙伴们耐心地一点去寻找了。 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3456 浏览 1 评论
8988 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 11:24 , Processed in 1.386320 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号