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

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

3天内不再提示

打造一个终极嵌入式软件工作平台

工程师兵营 来源:互联网 作者:佚名 2018-06-25 09:27 次阅读

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

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

选择调试器

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

  • 提取已编译和链接的应用,并将其加载到目标存储器中。

  • 向目标处理器告知调试器已连接,并配置所有板载硬件调试模块和功能。

  • 负责设置软件和硬件断点。

  • 在调试过程中可用于读取寄存器和片上存储器。

  • 接收实时应用程序跟踪信息以用于调试应用程序。

在很多实例中,开发人员仅选择他们能够找到的最低成本的调试器,或很多开发套件附带的默认板载 (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)。

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

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

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

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

嵌入式系统分析工具

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

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

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

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

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

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

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

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

构建工作台的技巧和诀窍

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

  • 找出开发过程中的主要瓶颈,确定是否有工具可以消除这些瓶颈。

  • 购买高质量的工具。劣质工具容易磨损和损坏,经常需要更换。优质工具可以持续使用 20 年甚至更长时间。

  • 不要让价格成为主要决定性因素。从长远来看,多花一些钱购买优质工具是值得的。

  • 进行成本效益分析以及投资回报分析。当工具要使用五年甚至更长时间,或者仅在开发周期中使用数月时,可以更容易确定成本的合理性。

  • 对于易损坏的低成本工具,购买两套,确保手头有备用。

  • 分阶段逐步构建工作台。构建专业的工作台可能花费数千美元。分批购买工具,这样有助于摆脱预算制约。

  • 不要害怕购买已经用过的工具,只要其来源可靠且维护状态良好即可。

  • 在软件调试方面,逻辑分析仪可以取代示波器。

总结

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5068

    文章

    19008

    浏览量

    303035
  • 调试器
    +关注

    关注

    1

    文章

    300

    浏览量

    23683
收藏 人收藏

    评论

    相关推荐

    RTOS是嵌入式系统的软件开发平台

    操作系统(RTOS)进入嵌入式工业的意义不亚于历史上机械工业采用三视图的贡献,对嵌入式软件的标准化和加速知识创新是里程碑。目前,商品化的
    发表于 08-12 14:32

    软件嵌入式软件区别

    就是基于嵌入式平台(比如ARM+Linux)的应用软件或者系统软件;  ②纯软件大多指基于通用处理器和操作系统
    发表于 06-28 11:36

    请问怎样去设计嵌入式软件构件平台

    嵌入式软件构件平台的体系结构是由哪些部分构成的?怎样去设计嵌入式软件构件平台
    发表于 04-23 07:01

    嵌入式软件开发基础知识

    前言:本人目前机械工程在读,希望能够在毕业时进入嵌入式行业工作。没有相关基础,从0开始自学,并打算不定期写博客做知识回顾,督促自己。学习目标:拥有扎实的嵌入式软件开发基础知识能独立完成
    发表于 11-05 07:22

    如何构建嵌入式系统平台

    般会有 “系统平台组”,他们的工作主要有:系统架构设计与实现嵌入式操作系统设计与实现AP
    发表于 12-17 06:07

    Eclipse嵌入式软件开发平台

    随着嵌入式系统在通信、网络设施、航空、航海和航天等领域的大范围应用,需要功能强大的软件开发平台辅助嵌入式应用软件的开发。
    发表于 12-01 15:37 55次下载
    Eclipse<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>开发<b class='flag-5'>平台</b>

    X86平台嵌入式软件应用

    X86平台嵌入式软件应用
    发表于 01-14 02:36 0次下载

    关于嵌入式实时系统软件测试的设计方案的探究

    软件系统的测试。在硬件,嵌入式软件系统测试。这是不同的主机平台上的
    发表于 10-19 14:38 0次下载

    基于嵌入式开发平台的搭建与软件移植

    基于嵌入式开发平台的搭建与软件移植
    发表于 10-30 15:31 7次下载
    基于<b class='flag-5'>嵌入式</b>开发<b class='flag-5'>平台</b>的搭建与<b class='flag-5'>软件</b>移植

    嵌入式软件开发是什么该如何理解

    对于嵌入式开发软件来说,可以把嵌入式软件开发分成2工作岗位。一个是应用开发,另
    发表于 09-18 17:19 2.2w次阅读

    嵌入式软件是什么意思_嵌入式软件的分类有哪些

    本文首先阐述了嵌入式软件的概念,其次介绍了嵌入式软件的特征,最后介绍了嵌入式软件的分类。
    发表于 08-31 15:54 1.6w次阅读

    嵌入式软件开发环境

    嵌入式软件嵌入式系统是密不可分的,嵌入式系统般由嵌入式微处理器、外围硬件设备、
    发表于 10-21 12:21 7次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>开发环境

    嵌入式软件开发是什么? 

    地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作嵌入式系统是控制程序存储在ROM中的
    发表于 11-03 09:36 8次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>开发是什么? 

    嵌入式软件开发的特点、设计流程、嵌入式软件的结构

           嵌入式软件开发的特点、设计流程、嵌入式软件的结构 嵌入式
    发表于 11-03 15:21 37次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>开发的特点、设计流程、<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>的结构

    Vitis统一软件平台文档:嵌入式软件开发

    电子发烧友网站提供《Vitis统一软件平台文档:嵌入式软件开发.pdf》资料免费下载
    发表于 09-15 10:11 0次下载
    Vitis统<b class='flag-5'>一软件</b><b class='flag-5'>平台</b>文档:<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>开发