电子发烧友App

硬声App

扫码添加小助手

加入工程师交流群

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

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

3天内不再提示
电子发烧友网>电子资料下载>嵌入式开发>加速Cortex-M MCU调试的五个技巧资料下载

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

2021-04-24 | pdf | 115.55KB | 次下载 | 2积分

资料介绍

调试嵌入式软件是我最不喜欢的行为,不幸地是,它却是必要的。值得庆幸地是,技术和工具链创新的进步衍生出大量的新技术,从而大大地加快了调试过程。下面让我们来看看其中一些方法,从传统的断点调试出发到更先进的仪器跟踪技术。 技巧1# - 传统的断点调试 每个开发人员都熟悉传统的调试技术,设置断点、执行代码,然后单步调试代码进行监视,同时监视寄存器和变量值。断点调试是我看到的使用最多的技术。然而,结果却不甚乐观,因为断点调试的效率较低,通常会产生次优的结果。 既然如此,为什么大家还如此频繁地使用断点调试呢?主要原因似乎是断点调试便于使用,易于理解,并且开发人员都乐观地认为,对于工作而言,断点是正确的工具。这种乐观需要校验。断点有可能破坏系统的实时性能,同时会将开发者吸进一个黑洞,使其无休止地去单步执行代码,盲目地寻找问题的一种解决方法。 技巧2#- IDE值图 如今,几乎所有的现代调试器和IDE都允许开发者监视存储在内存中的变量值。开发人员可以选择内存位置以及值刷新率,然后启动调试会话。一些IDE自身就有能力监视内置到IDE的值,而另外一些IDE则需要依靠外部软件。 值监测非常有用,如果将监测到的数据与图形化表示关联到一起,其带来的价值则更大。对实时的数据绘制值图对于发现意想不到的变化和验证特定波形的生成极其有用。例如,一个三相无刷直流电机BLDC motor)。开发人员如果想要监测每个电机支架的电流和电压,则需要驱动电机所形成的非常具体的波形。绘制每个电机支架电流和电压能够让开发人员实时看到发生的事情。 技巧3#-从printf到SWO 在高端的ARM Cortex-M系列配件中,如M3/M4,它为开发人员提供了额外的调试能力,即串行线查看器(Serial Wire Viewer,SWV)。SWV还包括除串行线输出(SWO)以外的标准串行线调试。SWO可以用来做很酷的东西,如程序检索计数器,事件计数器,及数据追踪等。开发者还可以对它们进行自定义,设置自己想要在SWO中传送的信息。 许多开发者为了从他们的嵌入式系统中获取调试信息通常会设置printf。实际上则并不是在单片机中使用串口引脚,而是开发人员可以使用SWO通过调试器重新路由printf信息。以这种方式使用调试器可以保存专用串行接口的需要,同时消除了开发UARTUSB设备的时间,效率更高。现在通过SWO和调试硬件将最初被应用程序所使用的开销卸去,缩减了那些有可能被应用程序代码使用的宝贵的时钟周期。 技巧4#-RTOS跟踪 试图透过表像看清一个实时操作系统中(RTOS)的本质可以说是相当具有挑战性。开发者并不想扰乱实时系统的性能,但仍然需要一些方法来了解系统的行为。这也是Blinky LED经常使用的把戏,但最近开发者的工具箱中增加了更多惊人的跟踪工具。例如免费的商用RTOS工具,如TraceX、SystemView和tracealyzer等等。 当RTOS闲置,或是有任务进入和退出时,跟踪工具允许开发者进行追踪分析。开发人员可以监控系统的异常,响应时间,执行时间,以及正确开发一个嵌入式系统所需的许多其他关键细节。RTOS跟踪工具最酷的功能是它们能够展示系统内部发生了什么。实时地或是在日志文件中进行审查和时序图监视,能够让开发者确定一个置信水平,用以估量系统是否能够按预期正常运行,或者帮助他们发现一些小问题,否则将花费大量的时间去寻找。 技巧5 #- 使用指令追踪技术(ETM / ETB / ETM) 有时开发人员面临的调试问题,只是在处理器中所能想象到的最低层面的问题。跟踪技术的存在,可以监视处理器执行的单个指令。在测试和验证软件时这种低水平跟踪对于监测分支覆盖非常有用。用于指令跟踪的调试工具不同于那些开发人员使用的串行线查看,而且成本略高。 结束语 调试工具和技术在过去几年里迅速发展,特别是高端微控制器。一般来讲,工程师都是视觉型生物,工具供应商正在寻找方法以刺激视觉的方式来揭示一个实时系统究竟发生什么。配置调试工具可能需要做一些前期工作,但是在设计上多花一点时间可以换来更少的调试时间,确实是一笔非常值得的时间投资。开发人员至少应该熟悉不同的调试工具和可用的功能,以便在出现问题,系统需要调试时,他们可以选择合适的工具完成任务。你有用过其它可以帮助工程师更快、更有效率地调试他们系统的技术么? 原文链接:Debugging the Cortex-M MCU 作者:Jacob Beningo 译者:刘帝伟 审校:刘翔宇 责编:周建丁() 文章来源:(mbbeetchina)
单片机 mcu 嵌入式 STM
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1冷柜-电气控制系统讲解
  2. 13.68 MB  |  4次下载  |  10 积分
  3. 2安川A1000变频器中文版说明书
  4. 20.16 MB  |  3次下载  |  3 积分
  5. 3直流电路的组成和基本定律
  6. 1.67 MB   |  2次下载  |  免费
  7. 4丹佛斯2800系列变频器说明书
  8. 8.00 MB  |  1次下载  |  5 积分
  9. 5PC8011同步开关型降压3.5A单节锂电池充电管理电路技术手册
  10. 0.74 MB   |  1次下载  |  免费
  11. 6ES7243E+ES8311音频录制与播放电路资料
  12. 0.06 MB   |  1次下载  |  5 积分
  13. 7SDM02 激光测距模块产品手册
  14. 0.43 MB   |  1次下载  |  免费
  15. 8SDFM 激光测距模块模组手册
  16. 0.54 MB   |  1次下载  |  免费

本月

  1. 1CH341编程器软件NeoProgrammer_2.2.0.10
  2. 20.47 MB   |  170次下载  |  1 积分
  3. 22025智能家居传感器市场分析及创新应用
  4. 3.11 MB  |  43次下载  |  免费
  5. 3RV1126B系列开发板产品资料
  6. 4.19 MB  |  18次下载  |  免费
  7. 4CH341编程软件下载
  8. 2.50 MB   |  16次下载  |  5 积分
  9. 5全志系列-米尔基于T153核心板开发板 四核异构、3路千兆网,赋能多元化工业场景
  10. 3.05 MB  |  12次下载  |  免费
  11. 6【开源】60余套STM32单片机、嵌入式Linux、物联网、人工智能项目案例及入门学习资源包
  12. 10.55 MB  |  8次下载  |  免费
  13. 7冷柜-电气控制系统讲解
  14. 13.68 MB  |  4次下载  |  10 积分
  15. 8特斯拉MODEL S车载充电机主电路回路原理图
  16. 0.81 MB   |  4次下载  |  3 积分

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935137次下载  |  10 积分
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420064次下载  |  10 积分
  5. 3Altium DXP2002下载入口
  6. 未知  |  233094次下载  |  10 积分
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191448次下载  |  10 积分
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183356次下载  |  10 积分
  11. 6labview8.5下载
  12. 未知  |  81604次下载  |  10 积分
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73824次下载  |  10 积分
  15. 8LabVIEW 8.6下载
  16. 未知  |  65991次下载  |  10 积分