问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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打印,适用于各种调试器。

功能特点

  1. 支持所有类型的事件记录,如运行错误、API调用等。
  2. 可在任务、RTOS内核和中断服务程序中任意调用。
  3. 对于带ITM功能的Cortex-M内核,无需开关中断操作。
  4. 支持printf重定向。

使用方法

  1. 确保使用MDK5.25及以上版本。
  2. 配置EventRecorderConf.h文件中的缓冲大小,默认为64个消息。
  3. 在代码中添加事件记录语句,如EventRecorderInitialize()EventRecorderEnable()
04

常见问题与解决方案

MDK调试崩溃

  • 解决方案
    • 将工程放在桌面路径下,避免使用中文路径。
    • 退出调试前清除所有断点。

JLINK无法下载

  • 检查硬件连接:确保所有引脚连接正确。
  • 更新驱动和固件:使用最新版本的驱动和固件。
  • 检查电源供电:确保开发板供电正常。
05

实用技巧

监视特定引脚状态

使用条件断点可以监视特定引脚的变化。例如,当PF10引脚状态变化时暂停程序:

GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_10) != prev_state

其中prev_state用于存储引脚的前一个状态。

使用逻辑分析仪

MDK自带的逻辑分析仪可以实时监视引脚波形。在调试模式下,添加需要监视的信号,如GPIOF_IDR.10,即可查看实时波形。

通过以上调试技巧和工具的使用,开发者可以更高效地进行STM32F429开发板的程序开发和故障排查。无论是初学者还是有经验的开发者,都能从这些技巧中受益,提高开发效率和代码质量。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号