[其他ST产品] STM32 CubeMX开发 f103 超详细MDK在线调试(Debug)教程

[复制链接]
1084|10
 楼主| 很过分好的suj 发表于 2023-1-31 22:38 | 显示全部楼层 |阅读模式
本教程在上一期呼吸灯的基础上增加在线debug讲解,通过变量监视完成代码调试

1 CubeMX配置
这里以stm32f103为例,在它的开发手册里我们可以找到SWJ调试端口的定义及其对应引脚
5491763d927c8d7d44.png
我们可以选择不同的模式,不同的模式占用引脚情况不相同
3754963d927d24ee8f.png
在CubeMX中的SYS项中我们可以选择debug模式,选择好模式后会自动使能相关引脚

 楼主| 很过分好的suj 发表于 2023-1-31 22:39 | 显示全部楼层
 楼主| 很过分好的suj 发表于 2023-1-31 22:40 | 显示全部楼层
SW串行模式

7475263d92812239e6.png
 楼主| 很过分好的suj 发表于 2023-1-31 22:40 | 显示全部楼层
针脚的JTAG模式
7583863d92876a96d7.png
 楼主| 很过分好的suj 发表于 2023-1-31 22:41 | 显示全部楼层
针脚的JTAG模式
3055963d928a941565.png
其他的模式是一些带Trace的调试模式,我们一般的开发用不到,想要详细了解的可以参考对应芯片的手册对TPIU模块的介绍
我一般选择SW串行模式(占用引脚最少)就可以进行调试,选择好Debug后生成工程
 楼主| 很过分好的suj 发表于 2023-1-31 22:42 | 显示全部楼层
Debug设置
生成工程后我们先编译一次,没有报错后,在debug选项卡中选择你的调试下载器,我使用的是STlink,如果你有Jlink等下载器选择对应的即可
5129863d928ea234d9.png
 楼主| 很过分好的suj 发表于 2023-1-31 23:40 | 显示全部楼层
确认是否可以识别到
 楼主| 很过分好的suj 发表于 2023-1-31 23:51 | 显示全部楼层
 楼主| 很过分好的suj 发表于 2023-1-31 23:53 | 显示全部楼层
点击Setting进入二级窗口,查看是否检测到 (确保芯片已经上电,下载器、开发板及电脑连接正确)
2653563d93910b0b20.png
 楼主| 很过分好的suj 发表于 2023-1-31 23:55 | 显示全部楼层
可以在二级窗口的Flah Download里修改烧写规则
watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5rW35bCP55quSFhQ,size_20,color_FFFFFF,t_70,g_se,x_16.jpg
 楼主| 很过分好的suj 发表于 2023-1-31 23:57 | 显示全部楼层
Debug功能演示
我们在日常的代码调试中用到最多的就是断点、单步调试以及变量监视
这里有个点需要注意,我们在调试前最好把代码编译一遍。不编译直接点调试按钮,如果芯片内的代码和你的代码不一致是没法调试的,如果你确定芯片里的代码就是你现有的代码可以不重新编译直接进入Debug模式。编译后直接点击Debug按钮,MDK会自动把新编译的代码下载并进入Debug模式并停止在main函数的开始
2860063d93a5f33867.png
如下图即进入了Debug模式,可以看到程序停在了main函数的起始处等待我们下一步操作 7726163d93a6502200.png


您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

68

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部