您现在的位置:主页 > 工程案例 >

加速调试嵌入式软件的五个技巧

时期:2022-02-07 00:18 点击数:
本文摘要:调试嵌入式软件是我最不讨厌的不道德,意外地是,它毕竟适当的。有一点难过地是,技术和工具链创意的变革派生出有大量的新技术,从而大大地减缓了调试过程。下面让我们来想到其中一些方法,从传统的断点调试抵达到更加先进设备的仪器追踪技术。 技巧1#-传统的断点调试 每个开发人员都熟知传统的调试技术,设置断点、继续执行代码,然后单步调试代码展开监控,同时监控寄存器和变量值。 断点调试是我看见的用于最少的技术。然而,结果却不颇悲观,因为断点调试的效率较低,一般来说不会产生次优的结果。

亚慱体育官网首页

调试嵌入式软件是我最不讨厌的不道德,意外地是,它毕竟适当的。有一点难过地是,技术和工具链创意的变革派生出有大量的新技术,从而大大地减缓了调试过程。下面让我们来想到其中一些方法,从传统的断点调试抵达到更加先进设备的仪器追踪技术。  技巧1#-传统的断点调试  每个开发人员都熟知传统的调试技术,设置断点、继续执行代码,然后单步调试代码展开监控,同时监控寄存器和变量值。

断点调试是我看见的用于最少的技术。然而,结果却不颇悲观,因为断点调试的效率较低,一般来说不会产生次优的结果。  既然如此,为什么大家还如此频密地用于断点调试呢?主要原因或许是断点调试便于用于,更容易解读,并且开发人员都悲观地指出,对于工作而言,断点是准确的工具。

这种悲观必须校验。断点有可能毁坏系统的动态性能,同时不会将开发者拉入一个黑洞,使其无休止地去单步继续执行代码,盲目地找寻问题的一种解决问题方法。

  技巧2#-IDE值图  如今,完全所有的现代调试器和IDE都容许开发者监控存储在内存中的变量值。开发人员可以自由选择内存方位以及值刷新率,然后启动调试不会话。一些IDE自身就有能力监控内置到IDE的值,而另外一些IDE则必须依赖外部软件。

  值监测十分简单,如果将监测到的数据与图形化回应关联到一起,其带给的价值则更大。对动态的数据绘制值图对于找到意想不到的变化和检验特定波形的分解极为简单。例如,一个三相无刷直流电机(BLDCmotor)。

开发人员如果想监测每个电机支架的电流和电压,则必须驱动电机所构成的十分明确的波形。绘制每个电机支架电流和电压需要让开发人员动态看见再次发生的事情。  技巧3#-从printf到SWO  在高端的ARMCortex-M系列配件中,如M3/M4,它为开发人员获取了额外的调试能力,即串行线查看器(SerialWireViewer,SWV)。

SWV还包括除串行线输入(SWO)以外的标准串行线调试。SWO可以用来做到很棒的东西,如程序检索计数器,事件计数器,及数据跟踪等。

开发者还可以对它们展开自定义,设置自己想在SWO中传输的信息。  许多开发者为了从他们的嵌入式系统中提供调试信息一般来说不会设置printf。实质上则并不是在单片机中用于串口插槽,而是开发人员可以用于SWO通过调试器新的路由printf信息。

以这种方式用于调试器可以留存专用串行接口的必须,同时避免了研发UART和USB设备的时间,效率更高。现在通过SWO和调试硬件将最初被应用程序所用于的支出卸去,削减了那些有可能被应用于程序代码用于的宝贵的时钟周期。  技巧4#-RTOS追踪  企图利用表像看清楚一个实时操作系统中(RTOS)的本质可以说道是非常具备挑战性。开发者并想妨碍实时系统的性能,但依然必须一些方法来理解系统的不道德。

这也是BlinkyLED常常用于的把戏,但最近开发者的工具箱中减少了更好难以置信的追踪工具。例如免费的商用RTOS工具,如TraceX、SystemView和tracealyzer等等。  当RTOS闲置,或是有任务转入和解散时,追踪工具容许开发者展开跟踪分析。开发人员可以监控系统的出现异常,响应时间,继续执行时间,以及准确研发一个嵌入式系统所需的许多其他关键细节。

RTOS追踪工具最酷的功能是它们需要展出系统内部再次发生了什么。动态地或是在日志文件中展开审查和时序图监控,需要让开发者确认一个置信水平,借以估量系统否需要按预期长时间运营,或者协助他们找到一些小问题,否则将花费大量的时间去找寻。

  技巧5#-用于指令跟踪技术(ETM/ETB/ETM)  有时开发人员面对的调试问题,只是在处理器中所能想象到的低于层面的问题。追踪技术的不存在,可以监控处理器继续执行的单个指令。

在测试和检验软件时这种低水平追踪对于监测分支覆盖面积十分简单。用作指令跟踪的调试工具不同于那些开发人员用于的串行线查阅,而且成本额低。

  结束语  调试工具和技术在过去几年里很快发展,尤其是高端微控制器。一般来讲,工程师都是视觉型生物,工具供应商正在找寻方法以性刺激视觉的方式来说明了一个实时系统到底再次发生什么。配备调试工具有可能必须做到一些前期工作,但是在设计上多花一点时间可以换取较少的调试时间,显然是一笔十分有一点的时间投资。

开发人员最少应当熟知有所不同的调试工具和能用的功能,以便在经常出现问题,系统必须调试时,他们可以自由选择适合的工具已完成任务。你简单过其它可以协助工程师更加慢、更加有效率地调试他们系统的技术么?。


本文关键词:加速,调试,嵌入式,软件,的,五个,技巧,调试,亚慱体育官网首页

本文来源:亚慱体育app在线下载-www.hzty110.com



Copyright © 2007-2021 www.hzty110.com. 亚慱体育app在线下载科技 版权所有 备案号:ICP备86375518号-7