0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

调试Cortex-M MCU的5个小点介绍

PCB线路板打样 来源:LONG 2019-08-07 10:26 次阅读

调试嵌入式软件是我最不喜欢的活动,但不幸的是它是一个必要的恶魔。值得庆幸的是,技术和工具链创新的进步带来了大量技术,可以大大加快调试过程。让我们来看看其中的一些,从传统的断点调试开始,再到更高级的仪器跟踪技术。

1 -传统的断点调试

每个开发人员都熟悉传统的调试技术,即设置断点,执行代码,然后在监视寄存器和变量值的同时逐步执行代码。断点调试是一种我认为比其他技术更常用的技术。然而,这令人沮丧,因为断点调试效率低下并且通常会产生次优结果。

那么,为什么经常使用断点呢?主要原因似乎是因为断点易于使用,易于访问,开发人员乐观地认为断点是工作的正确工具。乐观主义需要磨练。断点有可能破坏系统的实时性能,并且可能会让开发人员陷入无休止的单一步骤,盲目地寻找解决问题的方法。

2 -IDE值绘制

现在几乎所有现代调试器和IDE都允许开发人员监视存储在内存位置中的值,例如变量。开发人员选择内存位置和值刷新率,然后启动调试会话。某些IDE能够监视IDE内置的值,而其他IDE则依赖于使用外部软件。

值监控非常有用,但如果被监控的数据与图形表示相关联,那么它就更有价值。实时绘制数据值对于发现意外更改或验证是否生成特定波形非常有用。以三相BLDC电机为例。开发人员可能希望监控每个电机支路上的电流和电压,这需要生成非常特定的波形以驱动电机。绘制每个电机支路上的电压和电流可以使开发人员实时查看正在发生的情况。

3 -重新启动 printf 到SWO

在更高端的ARM Cortex-M部件上,例如M3/M4,为开发人员提供了额外的调试功能,称为串行线查看器(SWV)。除串行线输出(SWO)外,SWV还包括标准串行线调试器。 SWO可用于执行非常酷的操作,例如检索程序计数器,事件计数器和跟踪数据等等。开发人员可以自定义他们希望通过SWO传输的信息

许多开发人员设置 printf 以从其嵌入式系统获取调试信息。开发人员可以使用SWO通过调试器重新路由 printf 信息,而不是在微控制器上使用串行引脚。以这种方式使用调试器可以节省对专用串行接口的需求,消除UARTUSB设备的开发时间,并且效率更高。最初在应用程序中使用的开销现在通过SWO和调试硬件卸载,这节省了应用程序代码本来使用的宝贵时钟周期。

4 -RTOS跟踪

尝试透过RTOS所做的面纱可能非常具有挑战性。开发人员不希望干扰实时系统性能,但仍需要一些方法来理解系统的行为。 Blinky LED通常是最常用的技巧,但最近的跟踪工具为开发人员的工具箱添加了一项惊人的技术。存在免费和商用的RTOS跟踪工具,例如TraceX,SystemView和Tracealyzer等。

跟踪工具允许开发人员分析RTOS何时空闲以及何时进入和退出每个任务。开发人员可以监视系统异常,响应时间,执行时间以及正确开发嵌入式系统所需的许多其他关键细节。 RTOS跟踪工具中最酷的功能是能够绘制系统中发生的情况。实时或在记录的日志中查看和监视时序图可以帮助开发人员获得系统按预期工作的置信度,或帮助他们发现本来需要花费大量时间才能发现的小问题。

5 -使用指令跟踪技术(ETM/ETB/ETM)

有时开发人员面临调试问题,这些问题处于可以想到的最低级别处理器。存在可以监视处理器执行的各个指令的跟踪技术。在测试和验证软件时,这种低级别跟踪可用于监视分支覆盖。用于指令跟踪的调试器工具与开发人员用于串行线查看的工具不同,通常会花费更多。

结束思路

过去几年,调试工具和技术发展迅速,特别是对于高端微控制器。一般来说,工程师是视觉生物,工具供应商正在寻找方法以视觉刺激的方式揭示实时系统中究竟发生了什么。设置调试工具可能需要一些前期时间,但是花费更少的时间进行调试和更多时间设计的潜力值得投入时间。开发人员至少应熟悉可用的不同调试工具和功能,以便在出现问题并需要调试系统时,他们可以选择合适的工具来完成工作。您使用的其他技术是什么帮助工程师更快,更有效地调试他们的系统?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PCB打样
    +关注

    关注

    17

    文章

    2968

    浏览量

    21613
  • 华强PCB
    +关注

    关注

    8

    文章

    1831

    浏览量

    27685
  • 华强pcb线路板打样

    关注

    5

    文章

    14629

    浏览量

    42915
收藏 人收藏

    评论

    相关推荐

    为什么说Cortex-M是低功耗应用的首选

    虽然Cortex-M处理器家族目标瞄准效能光谱较低端的区域,但是和大多数微控制器(MCU)采用的其他典型处理器相比,Cortex-M的效能依然算相当强悍。举例来说,像是许多高效能微控制器所采用的
    发表于 07-28 09:44 3441次阅读
    为什么说<b class='flag-5'>Cortex-M</b>是低功耗应用的首选

    ARM Cortex-M堆栈机制介绍

      大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是ARM Cortex-M堆栈机制。  今天给大家分享的这篇依旧是2016年之前痞子衡写的技术文档,花了点时间重新编排了一下
    发表于 12-16 06:26

    ARM Cortex-M内核的相关资料推荐

      大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是ARM Cortex-M功能模块,不过侧重点是三款安全特性处理器。  ARM Cortex-M处理器家族发展至今(2020),已有
    发表于 12-27 07:21

    ARM Cortex-M之KEIL MDK调试技术简介

    1、KEIL MDK调试技术简介先看一总视图相信大家都是有基础滴,最基本的东西我就不废话了,很多初级选手做ARM Cortex-M调试基本都停留再使用上图
    发表于 05-07 16:29

    介绍易于使用的Arm Cortex-M处理器上的信号处理功能

    Cortex-M4,Cortex-M7,Cortex -M33或Cortex-M35P处理器,以取代MC
    发表于 07-29 14:48

    5V供电Cortex-M微控制器

    5V供电Cortex-M微控制器 传统的微控制器(单片机)是5V供电系统,要想使用Cortex-M架构的微控制器替换这些传统器件,那最好是有5
    发表于 11-25 02:22 721次阅读

    传统的单片机和ARM较量 助推MCU踏上高端Cortex-M市场

    据有关市场调研机构称,基于ARM Cortex-M内核的MCU在2010年创纪录地实现了100%的出货量增长。而整个MCU市场才增长了37%。MCU市场的增长也几乎是来自于ARM
    发表于 04-28 10:00 1573次阅读

    Atmel Studio 6软件中如何调试ARM Cortex-M

    Atmel Studio 6软件中如何调试ARM Cortex-M
    的头像 发表于 07-04 10:49 4187次阅读

    关于Cortex-M 调试应用的介绍

    Cortex-M 调试应用
    的头像 发表于 07-10 00:56 2567次阅读

    米尔科技Cortex-M Prototyping System +介绍

    ARM® Cortex®-M原型系统 MPS2+,为Cortex-M 系列微处理器设计的原型验证评估系统,包含最新的Cortex-M7 及Corte
    的头像 发表于 11-14 10:45 1802次阅读
    米尔科技<b class='flag-5'>Cortex-M</b> Prototyping System +<b class='flag-5'>介绍</b>

    加速Cortex-M MCU调试的五技巧资料下载

    电子发烧友网为你提供加速Cortex-M MCU调试的五技巧资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希
    发表于 04-24 08:45 5次下载
    加速<b class='flag-5'>Cortex-M</b> <b class='flag-5'>MCU</b><b class='flag-5'>调试</b>的五<b class='flag-5'>个</b>技巧资料下载

    mcookie与单片机的关系_使用ARM Cortex-M MCU拓展单片机教学

    mcookie与单片机的关系_使用ARM Cortex-M MCU拓展单片机教学
    发表于 11-30 19:36 9次下载
    mcookie与单片机的关系_使用ARM <b class='flag-5'>Cortex-M</b> <b class='flag-5'>MCU</b>拓展单片机教学

    一点理解之 CmBacktrace: ARM Cortex-M 系列 MCU 错误追踪库

    一点理解之 CmBacktrace: ARM Cortex-M 系列 MCU 错误追踪库
    发表于 11-30 19:51 10次下载
    一点理解之 CmBacktrace: ARM <b class='flag-5'>Cortex-M</b> 系列 <b class='flag-5'>MCU</b> 错误追踪库

    基于32位Arm Cortex-M内核N32系列MCU应用

    国民技术N32系列MCU产品基于32位Arm Cortex-M内核,内置嵌入式高速闪存、低功耗电源管理,集成数模混合电路,并内置硬件密码算法加速引擎以及安全单元。
    发表于 03-28 11:35 799次阅读

    瑞萨Cortex-M内核RA MCU的RT-Thread BSP制作教程发布

    瑞萨Cortex-M内核RA MCU的RT-Thread BSP制作教程发布
    的头像 发表于 09-18 10:58 638次阅读
    瑞萨<b class='flag-5'>Cortex-M</b>内核RA <b class='flag-5'>MCU</b>的RT-Thread BSP制作教程发布