构建终极嵌入式软件工作台

作者:Jacob Beningo

投稿人:DigiKey 北美编辑

能否及时高效地构建嵌入式系统,取决于软件开发人员在工作台上是否有合适工具来帮助完成开发工作。虽然预算通常受到限制,但有些工具是每位嵌入式软件工程师都必需的,这些工具可以帮助他们大幅减少构建、调试和验证其设计所需的时间。

对工程师来说好消息是,打造一个包含完成开发工作所需全部工具的终极嵌入式软件工作台,并不需要高达上万美元的费用。但是,有些基本工具是每位开发人员都必须拥有的,包括专业调试探头和逻辑分析仪,以及简单的手工工具。下面我们将了解哪些工具是必需的,以及如何选择这些工具。

选择调试器

开发人员的工作台上必备的第一种最重要工具是调试器。调试器的作用就如同包含应用代码的主机开发机与将要运行应用代码的目标嵌入式处理器之间的桥梁。调试器提供几种关键功能:

  • 提取已编译和链接的应用,并将其加载到目标存储器中。
  • 向目标处理器告知调试器已连接,并配置所有板载硬件调试模块和功能。
  • 负责设置软件和硬件断点。
  • 在调试过程中可用于读取寄存器和片上存储器。
  • 接收实时应用程序跟踪信息以用于调试应用程序。

在很多实例中,开发人员仅选择他们能够找到的最低成本的调试器,或很多开发套件附带的默认板载 (OB) 调试器。这种做法的问题在于 OB 调试器的功能非常有限。

比较调试器之间差异的一种很好的方法是检查 SEGGER 提供的调试工具。很多不同微控制器供应商的多种开发套件都提供了基于 SEGGER J-Link 的 OB 调试器。下图显示了面向各种目标内核的不同 J-Link OB 调试器的典型特性集(图 1)。

各种 SEGGER J-Link OB 调试器的特性集示例图片

图 1:低成本开发板附带的各种 SEGGER J-Link OB 调试器的特性集示例(图片来源:SEGGER)

请注意,表格的最右侧显示了三个关键速度特性:SWO 速度、接口速度和下载性能。对于大多数零件而言,这些速度都不超过 4 MHz,其中大多数速度远低于这个数字。

初看起来,这些 J-Link OB 调试器的指标数据还不错,毕竟它们是免费的。但是,如果将这些特性与 J-Link Ultra+J-Trace 等全功能调试器进行比较(图 2),您会改变这种看法。

Segger J-Link 系列调试器表

图 2:J-Link 系列调试器提供专业级调试功能,速度高达 100 MHz。(图片来源:SEGGER)

请注意:最低 SWO 速度为 30 MHz,最高达到 100 MHz。SWO 接口用于调试,也用于接收一些跟踪数据。这种速度增加,再加上无限制断点、以太网选项和嵌入式跟踪缓冲区 (ETB) 等额外特性,使得这些调试器成为极其高效的工具。与开发套件上的基本调试器相比,这些调试器的功能更为强大和丰富,不仅有助于加快编程速度,还能缩短实际调试系统的时间。

我们以 J-Link Ultra+ 为例。这是一款全功能专业调试器,其特性包括无限制断点,以及极快的 SWO 和接口时钟速率(图 3)。

Segger J-Link Ultra+ 全功能专业调试器图片

图 3:J-Link Ultra+ 是一款全功能专业调试器,其特性包括无限断点,以及极快的 SWO 和接口时钟速率。(图片来源:SEGGER)

希望将嵌入式工作台提升到全新水平的开发人员应该考虑使用 SEGGER J-Trace(图 4)。J-Trace 不仅支持与 J-Link Ultra+ 相同的功能,还能够使用 Arm 嵌入式跟踪宏单元 (ETM) 接口连接到目标器件。

ETM 包含更多的数据通信通道,让开发人员能够检索有关应用程序及微控制器工作状况的更多信息。例如,开发人员能够使用 ETM 来执行代码分支分析,甚至执行指令跟踪。

Segger J-Trace Pro 图片

图 4:J-Trace 支持 ETM 接口,除了执行代码覆盖分析之外,还让开发人员能够对应用程序执行指令跟踪。(图片来源:SEGGER)

嵌入式系统分析工具

一旦开发人员获得了功能合适的调试器,他们将希望找到和选择多种工具,以协助他们调试和分析系统。开发人员在开发周期中平均有多达 50% 的时间花费在调试软件上。调试系统的效率越高越好。

开发人员应该考虑采用几种工具来分析系统。这些工具包括像 B&K Precision BK2190E 这样的双通道 100 MHz 范围的传统示波器,或者 SparkFun Electronics Logic Pro 8 USB 逻辑分析仪。Logic Pro 8 非常适合用于分析通用输入/输出行为和通信协议。该分析仪能够同时监控多达八个通道,并提供触发功能,用于捕捉电平、上升沿或下降沿。

SparkFun Logic Pro 8 USB 逻辑分析仪图片

图 5:Logic Pro 8 USB 逻辑分析仪是用于分析通用输入/输出行为和通信协议的强大工具。(图片来源:SparkFun Electronics)

每个工作台都需要的常规原型开发工具

虽然软件开发人员并非硬件工程师,但准备一些有助于检测和操作硬件的工具仍然很有用。第一种必不可少的工具是一组跳线。跳线似乎总是供应不足,但它是将外部传感器或器件连接到开发套件所必需的。一组 Bud Industries 母头对母头跳线公头对公头跳线足以包含所有必需的组合。

BUD Industries 母头对母头跳线图片

图 6:母头对母头跳线(图示)和公头对公头跳线对于快速原型开发和嵌入式系统故障排除至关重要。(图片来源:Bud Industries)

除了跳线之外,还应准备一对优质 Aven Tools 尖嘴钳Apex Tool Group MS54V 4 英寸半埋式椭圆头钢丝钳,以便将跳线放置到拥挤空间内,或者进行切割以在原型板上轻松连接。购买一对高质量工具将确保您能够在需要时随时使用。

最后,每位开发人员还需要备有放大灯,例如 Aven 的 5 英寸 ProVue SuperSlim LED 灯,以便轻松查看 PC 板上的丝印。软件开发人员使用放大灯的频率远少于硬件工程师,但有时需要对丝印进行快速修改,或者电路板上的超小丝印需要放大或额外照明。

构建工作台的技巧和诀窍

构建工作台有时似乎非常简单,但令人吃惊的是很多团队没有最基本的工具。以下一些技巧有助于您构建出“终极”嵌入式工作台:

  • 找出开发过程中的主要瓶颈,确定是否有工具可以消除这些瓶颈。
  • 购买高质量的工具。劣质工具容易磨损和损坏,经常需要更换。优质工具可以持续使用 20 年甚至更长时间。
  • 不要让价格成为主要决定性因素。从长远来看,多花一些钱购买优质工具是值得的。
  • 进行成本效益分析以及投资回报分析。当工具要使用五年甚至更长时间,或者仅在开发周期中使用数月时,可以更容易确定成本的合理性。
  • 对于易损坏的低成本工具,购买两套,确保手头有备用。
  • 分阶段逐步构建工作台。构建专业的工作台可能花费数千美元。分批购买工具,这样有助于摆脱预算制约。
  • 不要害怕购买已经用过的工具,只要其来源可靠且维护状态良好即可。
  • 在软件调试方面,逻辑分析仪可以取代示波器。

总结

构建高效的工作台不能贪图便宜。必须找到并购买适合开发工作的工具,它们能够提高效率和消除障碍,帮助提升整体产品质量,甚至降低开发人员的压力(至少减少他们遇到的问题)。

请仔细评估哪些工具能让开发过程变得更加简单,并确定这些工具是否能够长期使用。尽可能不要考虑如何省钱。只要买到合适的工具就能获得回报,因为功能完备且配置适当的工作台是效率的保证。

免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。

关于此作者

Jacob Beningo

Jacob Beningo 是一位嵌入式软件顾问,目前与十几个国家的客户保持合作,通过帮助客户改善产品质量、降低成本和加快上市时间来大幅改变他们的业务。Jacob 先后发表了 200 多篇关于嵌入式软件开发技术的文章,是一位广受欢迎的演讲者和技术培训师。他拥有三个学位,其中包括密歇根大学的工程硕士学位。如有需要,欢迎随时通过 jacob@beningo.com 与其联系,也可访问其网站 www.beningo.com,并订阅其月度 Embedded Bytes Newsletter

关于此出版商

DigiKey 北美编辑