![shequ.stmicroelectronics.cn](./template/st_v1/static/img/logo2.png)
本文记录的是我在烧录时出现的问题,具体细节会因为使用的软件或者STM32不同而不同$ s; ^- P5 M) O9 A, t 在使用STM32CubeMX生成的代码,经过keil5编写后,使用usb接口烧录进STM32然后发现keil5中再也识别不出来STM32 5 y7 V6 S8 Q0 W/ Z8 n/ N7 g! H 在Keil5中点开这个 1 }- b6 U% Y. T5 H8 t ![]() 选择debug,右上角的Use选择J-LINK/J_TRACECortex,然后点击右边的Settings, ![]() 在Port窗口选择SW,如果是可以烧录即可以读取到STM32的信息时,左上角的SN中会有信息,而且右上角小窗口中的涂抹位置也会有信息;但是如果读取不到STM32时,左边的SN窗口中会有信息,但是右边的小窗口中涂抹部位没有信息( n6 Q, N" g: ]0 M9 O ![]() 我的情况是第一次连接STM32时可以读取到,但是完成一次烧录后就读取不到了,如果代码是用STM32CubeMX导出后修改的,可能就是这个问题,如下图,即SYS中的Debug选择了No Debug,如果这么选择了,那么代码烧录进STM32后就会马上禁用JTAG-DP和SW-DP,就没有办法继续烧录了,7 t: x$ y( w( `6 I; X$ x ![]() 如何从根本上解决这个问题,让下一次烧录可以正常进行,即在STM32CubeMX中把SYS的Debug改成Serial Wire或者Trace Asynchronous Sw,这样只有会禁用JTAG-DP而不会禁用SW-DP * U& w- W) S' C$ `; \. [2 x 现在需要解决如何让不能烧录的STM32重新可以烧录,因为烧录不了了,软件没有办法解决,所以使用硬复位,因为我使用的是STM32F1的,所以有一个NRST引脚,NRST是异步复位脚,如果NRST引脚低电平即可复位,会重设所有的内部寄存器,因为原来NRST是接着高电平的,所以将NRST接地即可' u1 e4 I6 T/ ~% T% D2 D 4 _. l* [0 p$ R5 b; g$ P% y 如果产品有reset按键,可以使用按键,如果没有,就找到NRST对应引脚,接根线出来接地,我的没有按键,所以接了线出来6 X1 [7 G6 D8 x 3 {8 m7 F/ F+ l d NRST接地或者reset按下时,即NRST低电平时keil又可以重新查找到,然后再松开NRST接地线或者放开reset按钮,即NRST高电平时又可以烧录了2 E1 H8 T7 T5 M K! v! x- J$ r3 R ————————————————. E# \; f' J/ K$ `" N; N 版权声明:试图摸大鱼 8 }& b: a8 `; B) x! W. R! x5 y! d8 c- Y 0 |& r5 x# n+ B6 O$ x' b# o) U+ k |
关于 WIN10 系统下安装较新版本(v6.6.0可能更早-----v6.12.0)STM32CubeMX后出现无法连接服务器的现象的一种解决方式
基于STM3的开发环境搭建经验分享
如何使用CubeMX实现STM32的串口通信以及对printf等函数的重定向
基于STM32CubeMX实现ADC的经验分享
基于STM32CubeMX输入捕获测周法检测频率经验分享
【STM32C0测评】外部中断控制小灯
意法半导体最具性价比、速度最快的单核MPU STM32MP13现已支持运行RTOS
【NUCLEO-U083RC评测】移植TouchGFX并实现无接触翻页
[NUCLEO-C031C6评测] 驱动LCD 第三步 显示颜色块
[NUCLEO-C031C6评测] 驱动LCD 第二步 初始化屏幕