嵌入式开发:你对你的调试器有多了解?

更新时间: 2022-06-07 09:26:18来源: 粤嵌教育浏览量:8185

  调试器可以说是嵌入式软件工程师最重要的工具之一。调试器不仅能够在微控制器上加载固件,还可以窥探内存和寄存器的深度,揭示其内部工作原理。尽管调试器很重要,但许多嵌入式开发人员忽略了调试器的一些最有用的功能,而只是简单地了解调试器可以真正完成什么。

  许多开发人员认为所有调试器都是平等的,这导致许多开发人员选择了金钱可以买到的最便宜的调试器。工程师会在示波器和其他工具上花费数千美元,但一旦出现调试器,一百美元就太高了。选择的调试器是免费的、功能受限的版本,附带低成本的开发工具包。专业的调试器可以为开发人员做更多的事情,而不仅仅是加载代码。

  首先,一个好的调试器可以减少开发时间。考虑到许多低成本调试器对可用于与目标处理器通信的时钟频率进行限制的事实。时钟速度似乎是一个小细节,但要考虑在开发周期中固件被修改和重新加载到系统的次数。总时间加起来可能不会达到一个可能认为重要的数字,但还要考虑应用程序运行时系统的响应能力。宝贵的时间一去不复返。

  调试器的另一个未被充分利用的特性是具有两个以上断点的能力。许多使用低级工具的嵌入式开发人员花费了太多时间来启用和禁用断点。调试一个普通的错误通常感觉至少需要五个断点,但工程师必须设置它们,启用两个断点,然后禁用一个断点,而不是设置这些断点并深入研究问题。被启用。在一个项目的过程中,人们可能想知道为了节省 500 美元而浪费了多少美元和分钟。

  许多现代调试器开始添加到他们的工具库中的最酷的功能之一是能够监控微控制器或嵌入式系统的能源使用情况。制造商正在添加工具,通过包括可以对外部分流器进行采样的模拟到数字通道来帮助最大限度地减少能源使用。在记录应用程序计数器的同时执行分流器的测量,从而为开发人员提供与当时正在执行的功能或程序语句相关的能量曲线。然后,开发人员可以专注于固件中的这些区域以进行能源优化。


  


  调试器还可用于在应用程序代码执行时记录和导出应用程序符号。调试器能够记录存储在内存中的值以供以后检查,如果需要,它们可以实时绘制。结果是嵌入式开发人员可以创建系统响应和行为方式的可视化表示。绘制应用程序内部行为的能力对于发现错误或简单地验证系统操作至关重要。

  一些调试器甚至可以执行其标准调试功能,同时为第三方软件提供一个接口来嗅探或控制调试器。开发人员可能有他们感兴趣的特定信息,他们有兴趣观察或监视这些信息,但 IDE 与调试器的接口不支持这些信息。软件开发工具包 (SDK) 适用于许多专业调试器,允许工程师定制和开发他们自己的软件工具,然后可用于自动化和/或测试他们的嵌入式系统。

  不幸的是,许多开发人员从未体验过这些功能可以帮助他们开发嵌入式系统的速度和便利性。嵌入式开发人员陷入了与两个断点和最少功能的斗争中。最强大和最昂贵的调试器所花费的费用不会超过一名高级工程师一天的开销。那么,当强大的工具如此近在咫尺时,工程师为什么要用最少的功能来折磨自己呢?

免费预约试听课