STM32CubeMX学习第一天

1、用的软件是STM32CubeMX 5.3.0;
KEIL 5;
芯片型号是stm32f103zg
2、第一天是新建工程并烧写程序
简单设置了一下系统时钟,就准备试试能不能烧程序,结果程序烧完之后不能正常运行,而且以前的程序也不能烧写了,总是提示找不到芯片。依稀记得以前听说过芯片锁死的情况,就百度查了一下,看到一个解锁方法,如下:
STM32单片机一般的连接方式是主闪存存储器启动模式,即BOOT0为0,这样在用JTAG或SW写进程序的时候,如果该程序工程中芯片选型不正确或着程序中复用了JTAG或SW复用引脚导致程序执行后出现启动配置错误或者调试引脚被占用而引起的芯片锁死或Jlnk连接不上的问题,则把BOOT0和BOOT1跳成1和0,让内部程序不运行,然后再重新下载另外的程序,再改回BOOT设置,便可以恢复正常。如果板子上JTAG和SW调试电路都有的话,在其中一种方式导致锁死的情况下可以用另一种方式擦除恢复,而不必调整BOOT设置。
————————————————
版权声明:本文为CSDN博主「忽如远行客」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/rtgchym/article/details/11109357

依据以上方法,成功解锁芯片,可是用Cube生成的程序还是不行,就开始单步调试,然后就发现了这句话
__HAL_AFIO_REMAP_SWJ_DISABLE() //调试被禁止了。

又查找如何在Cube中使能调试,方法如下:
在SYS中的Debug,选择Serial Wire,重新生成程序,可以正常烧写了。
STM32CubeMX学习第一天