STM32F429开发板调试技巧大全:从入门到精通
创作时间:
作者:
@小白创作中心
STM32F429开发板调试技巧大全:从入门到精通
引用
CSDN
等
9
来源
1.
https://blog.csdn.net/Simon223/article/details/107082143
2.
https://blog.csdn.net/jackie_o2o2/article/details/70135883
3.
https://blog.csdn.net/m0_62520055/article/details/125474079
4.
https://blog.csdn.net/weixin_43336867/article/details/122796768
5.
https://blog.csdn.net/m0_46079750/article/details/139456602
6.
https://blog.csdn.net/qq_22841387/article/details/131349049
7.
https://blog.csdn.net/gitblog_06643/article/details/142572972
8.
https://www.cnblogs.com/armfly/p/13180219.html
9.
https://www.cnblogs.com/armfly/p/13212404.html
在嵌入式开发中,STM32F429开发板以其强大的性能和丰富的外设资源,成为许多开发者的首选平台。然而,随着项目复杂度的增加,调试工作也变得越来越重要。本文将详细介绍如何使用MDK5环境对STM32F429开发板进行高效调试,从基础的硬件连接到高级的调试技巧,帮助开发者快速定位和解决问题。
01
硬件连接与配置
在开始调试之前,首先需要正确连接调试器和开发板。常用的调试器有JLINK和STLINK两种。
JLINK连接
使用JLINK时,需要通过JTAG转SWD转接板与开发板连接。具体的接线图如下:
注意:转接板不要插反,确保VCC、GND、SWDIO、SWCLK和NRST引脚正确连接。
STLINK连接
使用STLINK时,连接相对简单。如果是标准的STLINK,可以直接与开发板连接。如果使用的是三线JLINK-OB,仅需连接GND、SWDIO和SWCLK三个引脚。
驱动与固件
- 使用JLINK时,推荐使用V8、V9或V10版本。
- 使用STLINK时,确保电脑端驱动和固件都是最新版本。
02
MDK环境下的基本调试技巧
断点设置
断点是调试中最常用的工具,可以帮助开发者在特定位置暂停程序执行,检查变量状态。
- 普通断点:在代码行左侧点击设置,程序执行到该行时暂停。
- 条件断点:右键点击断点,选择"Breakpoint Properties",输入条件表达式。例如,当某个引脚状态变化时暂停。
变量监视
- 全局变量:使用Watch窗口(View -> Watch Windows)添加需要监视的变量。
- 局部变量:通过Call Stack Window自动显示当前函数的局部变量。
寄存器查看
要查看外设寄存器内容,可以在菜单中选择相应的选项。内核寄存器则在另一个菜单中查看。
全速运行与单步调试
- 全速运行:点击工具栏上的绿色箭头按钮,程序将正常执行。
- 单步调试:使用Step Into(F7)进入函数内部,Step Over(F8)跳过函数调用,Step Out(Shift+F8)退出当前函数。
03
高级调试工具:Event Recorder
Event Recorder是MDK5.22版本引入的强大调试工具,支持时间测量、功耗测量和printf打印,适用于各种调试器。
功能特点
- 支持所有类型的事件记录,如运行错误、API调用等。
- 可在任务、RTOS内核和中断服务程序中任意调用。
- 对于带ITM功能的Cortex-M内核,无需开关中断操作。
- 支持printf重定向。
使用方法
- 确保使用MDK5.25及以上版本。
- 配置EventRecorderConf.h文件中的缓冲大小,默认为64个消息。
- 在代码中添加事件记录语句,如
EventRecorderInitialize()
和EventRecorderEnable()
。
04
常见问题与解决方案
MDK调试崩溃
- 解决方案:
- 将工程放在桌面路径下,避免使用中文路径。
- 退出调试前清除所有断点。
JLINK无法下载
- 检查硬件连接:确保所有引脚连接正确。
- 更新驱动和固件:使用最新版本的驱动和固件。
- 检查电源供电:确保开发板供电正常。
05
实用技巧
监视特定引脚状态
使用条件断点可以监视特定引脚的变化。例如,当PF10引脚状态变化时暂停程序:
GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_10) != prev_state
其中prev_state
用于存储引脚的前一个状态。
使用逻辑分析仪
MDK自带的逻辑分析仪可以实时监视引脚波形。在调试模式下,添加需要监视的信号,如GPIOF_IDR.10
,即可查看实时波形。
通过以上调试技巧和工具的使用,开发者可以更高效地进行STM32F429开发板的程序开发和故障排查。无论是初学者还是有经验的开发者,都能从这些技巧中受益,提高开发效率和代码质量。
热门推荐
配电箱隐患检查:18个关键要点全解析
抖音简介写作技巧:如何撰写吸睛简介,快速圈粉?
深入解析英语单词“gets”的发音与多种用法
委婉的语句有哪些?委婉表达大全:掌握沟通技巧,避免尴尬!
《NBA 2K25》总经理模式全面升级:打造属于你的NBA王朝
1000多万外地人都住在上海哪里
快递单号查询全攻略:轻松追踪包裹状态的实用指南
如何帮助青少年从心理上适应新学期
直击2025年春运首日丨重庆火车站设置“一窗通办” 拟加开“夜间高铁”
“丁戊奇荒”中的曾国荃:一代嗜血悍将,也有一心为民的另一面
运动后喝盐水好不好?科学解读电解质补充指南
隐藏在人类当中的蜥蜴人是否存在?它的来历是什么?
盐在人体中的作用是什么?
原来早餐、晚餐各有“黄金时间”!
一日三餐科学时间表,中医专家揭秘饮食顺序和时间!
童年创伤会造成哪些偏激心理
罗纳尔迪尼奥(小罗)在世界足坛的历史中只能排在20名以内?
道德经的版本之争
《易经》是国学精粹还是封建迷信?国学大师李子矜讲国学
如何设置HTML滚动div不动
曹操与曹丕:父子关系的复杂纠葛
Timeline
为何汽修店给轮胎充气大多打到2.5bar, 轮胎气压到底打多少合适?
夏秋换季轮胎气压需要调整吗?80%车主都错了
客厅东南角放什么招财?提升家庭财运的秘诀
女性有必要定期做妇科检查吗,多久做一次呢?
避免盲目崇拜科学,构建全面理性的科学观
pH传感器的使用方法与流程
Nature子刊:中国人50岁后的健康工作寿命期望值为6.87年,且具有个体差异
香港大学(HKU)经济学硕士项目:申请攻略与就业前景