能否及时高效地构建嵌入式系统,取决于软件开发人员在工作台上是否有合适工具来帮助完成开发工作。虽然预算通常受到限制,但有些工具是每位嵌入式软件工程师都必需的,这些工具可以帮助他们大幅减少构建、调试和验证其设计所需的时间。
开发人员的工作台上必备的第一种最重要工具是调试器。调试器的作用就如同包含应用代码的主机开发机与将要运行应用代码的目标嵌入式处理器之间的桥梁。调试器提供几种关键功能:
提取已编译和链接的应用,并将其加载到目标存储器中;向目标处理器告知调试器已连接,并配置所有板载硬件调试模块和功能;负责设置软件和硬件断点;在调试过程中可用于读取寄存器和片上存储器;接收实时应用程序跟踪信息以用于调试应用程序。
在很多实例中,开发人员仅选择他们能够找到的最低成本的调试器,或很多开发套件附带的默认板载 (OB) 调试器。这种做法的问题在于 OB 调试器的功能非常有限。
比较调试器之间差异的一种很好的方法是检查 SEGGER 提供的调试工具。很多不同微控制器供应商的多种开发套件都提供了基于 SEGGER J-link 的 OB 调试器。下图显示了面向各种目标内核的不同 J-link OB 调试器的典型特性集(图 1)。
图 1:低成本开发板附带的各种 SEGGER J-link OB 调试器的特性集示例(图片来源:SEGGER)
请注意,表格的最右侧显示了三个关键速度特性:SWO 速度、接口速度和下载性能。对于大多数零件而言,这些速度都不超过 4 MHz,其中大多数速度远低于这个数字。
初看起来,这些 J-link OB 调试器的指标数据还不错,毕竟它们是免费的。但是,如果将这些特性与 J-link Ultra+ 或 J-Trace 等全功能调试器进行比较(图 2),您会改变这种看法。
图 2:J-link 系列调试器提供专业级调试功能,速度高达 100 MHz。(图片来源:SEGGER)
请注意:最低 SWO 速度为 30 MHz,最高达到 100 MHz。SWO 接口用于调试,也用于接收一些跟踪数据。这种速度增加,再加上无限制断点、以太网选项和嵌入式跟踪缓冲区 (ETB) 等额外特性,使得这些调试器成为极其高效的工具。与开发套件上的基本调试器相比,这些调试器的功能更为强大和丰富,不仅有助于加快编程速度,还能缩短实际调试系统的时间。
我们以 J-link Ultra+ 为例。这是一款全功能专业调试器,其特性包括无限制断点,以及极快的 SWO 和接口时钟速率(图 3)。
希望将嵌入式工作台提升到全新水平的开发人员应该考虑使用 SEGGER J-Trace(图 4)。J-Trace 不仅支持与 J-link Ultra+ 相同的功能,还能够使用 Arm 嵌入式跟踪宏单元 (ETM) 接口连接到目标器件。
ETM 包含更多的数据通信通道,让开发人员能够检索有关应用程序及微控制器工作状况的更多信息。例如,开发人员能够使用 ETM 来执行代码分支分析,甚至执行指令跟踪。