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开发板的程序开发和故障排查。无论是初学者还是有经验的开发者,都能从这些技巧中受益,提高开发效率和代码质量。
热门推荐
石狮市旅游景点全攻略:16个必打卡景点详解
杨辉三角详解:从历史背景到算法应用
如何避免散户在投资中处于不利地位?散户在投资中需要克服哪些困难?
韩国旅游签证申请流程最新说明
什么是签证?全面指南
Blazor WebAssembly革新:C#的Web开发新纪元
发烧为什么要多喝水?
如何处理脚部过度出汗问题
散热风扇选型方法,如何综合考量电机功率、转速以及风压
这样吃,身体越来越好
朱虹:课本城市 熠熠生辉——《跟着课本游九江》序
后台管理需求文档怎么写
从零开始搭建创业公司全新技术栈解决方案
红茶的功效与作用:从温补阳气到抗氧化的多重保健价值
五台山怎么走最佳路线?
五台山:中国佛教四大名山之首的历史与文化
银行项目贷款流程及所需资料(2024贷款指南)
电力变压器产业的市场推广策略与营销手段全解析
徐州汉画像石艺术馆:四千年古城的历史记忆
2025仓储物流行业发展现状机遇(附数据图表分析)
海南旅游景点:身份证入园要求详解
工业革命如何影响中国?清朝从此被按在地上摩擦到灭亡
如何导入奥维高程数据库
坐月子可以吹空调么(坐月子开空调的危害)
脸部长期不去角质会怎样
王维《鸟鸣涧》赏析
如何通过VI设计优化钢材公司品牌认知
钢筋材料销售管理:从库存到团队建设的全方位指南
从x86到ARM64:CPU架构的进化与未来
新房竣工验收标准及流程解析