STM32/CM3使用MDK调试技巧

本文分享了在STM32/CM3使用MDK进行调试时的实用技巧,包括如何利用MDK的Hardfault Report定位硬件错误原因,通过Watch监控变量以及在HardFault后查找错误入口的方法。强调了官方文档的重要性,并针对不同类型的Hardfault错误给出了排查建议。
摘要由CSDN通过智能技术生成

Version:

BK1(20200211)	:最初版本

背景:
以前学嵌入式/stm32时总是面向过程解决某一特定的问题。总是能够用简单的代码通过单线程解决问题。但是随着项目越来越综合,传感器的数量越来越多,各种调试和通信功能也需要同步进行,因此对抢占式内核的需求愈发迫切。虽然已有开源的RTOS和RTT嵌入式系统可供选择,但本着学多门技术的原则。从此踏上了数个月的OS开发不归路。在这过程中,遇到十分多的hardfault错误。在debug的过程中,我才发现MDK很厉害。但网上太多资料都没有对其功能作很详细的讲解,导致我走了很多弯路。因而写一篇文章来记录和分享一些debug技巧。重点是hardfault的debug。

首先一点,如果百度搜不到答案,请转战google或者bing。翻不了墙的选择后者。因为诸如MDK的使用资料官方有,而且很详细,但是你有百度的话大概率是搜不到这些资料的。对于代码中的大部分语法问题都可以通过探针等方法自查查出,此处重点将代码引发的hardfault问题。推荐大家用bing搜索“MRK Using Cortex-M3_M4_M7 Fault Exceptions”下载KEIL这个pdf文件仔细看,里面很多的debug技巧是你从百度和论坛以及群中学不到的。所以有句话说,东西还是原装的好。

1. 使用MDK Hardfault Report和手册定位硬件错误原因

STM32隶属CM3内核,实际上整个CM3/4/7都有一个很完备的hardfault信息反馈机制。通过MDK的debug窗口可以查看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值