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 年甚至更长时间。

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

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

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

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

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

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

总结

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

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

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

    关注

    4981

    文章

    18274

    浏览量

    288361
  • 调试器
    +关注

    关注

    1

    文章

    288

    浏览量

    23396
收藏 人收藏

    评论

    相关推荐

    #嵌入式软件设计 基于Linux的嵌入式平台

    嵌入式嵌入式软件
    电子技术那些事儿
    发布于 :2022年09月03日 09:23:47

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

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

    开放实时嵌入式软件平台TOPPERS的研究现状

    TOPPERS的历史、现状及其下一个十年的发展计划和目标,以及TOPPERS在国内的发展情况和目前基于TOPPERS成果正在进行的工作。关键词:实时操作系统;TOPPERS;ITRON;软件
    发表于 12-06 10:06

    基于Bootsplash打造嵌入式Linux启动画面

    作者:kid在基于linux的嵌入式仿真平台开发中,终端的美观和可定制是重要的问题。开机时滚动在屏幕上的字符串和单调的penguin图标,使嵌入
    发表于 07-03 08:13

    嵌入式软件和PC的结合

    随着移动互联网应用渐渐走热,Inel 嵌入式X86芯片重返市场,传统的嵌入式系统平台软件开发方式和操作系统都在发生着变化。
    发表于 07-16 06:44

    软件嵌入式软件区别

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

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

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

    嵌入式软件与非嵌入式软件的区别?

    学习笔记嵌入式系统课程学习储备知识:C语言+单片机(硬件的工作原理)1、嵌入式技术是什么?嵌入式软件
    发表于 07-19 08:00

    嵌入式软件测试工作职责是什么

    **嵌入式软件测试工程师#有合适的可以留言#**科华恒盛职位介绍:嵌入式软件测试工作职责:1、负责公司核心产品的
    发表于 10-28 06:16

    主流的嵌入式平台有哪几种

    主流的嵌入式平台有三种:ARM平台、DSP平台和FPGA平台嵌入式产品,与普通电子产品
    发表于 10-28 10:03

    嵌入式软件开发基础知识

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

    如何构建嵌入式系统平台

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

    嵌入式软件自动化测试平台的相关资料推荐

    .随之而来的也是嵌入式软件测试工作的加重,传统的软件测试技术已经难以满足嵌入式软件越来越复杂的需
    发表于 12-21 07:05

    嵌入式系统的开发过程

    早期的嵌入式系统中,软件与硬件密不可分浑然体,都是用汇编语言实现。随着软硬件技术的发展,嵌入式软件的开发与硬件仍然密不可分。但是,从软硬件
    发表于 12-22 08:15

    从事嵌入式工作有哪些优势?

    。 那么从事嵌入式工作有哪些优势? 工作强度相对较低。开发企业应用软件的IT企业,这个用户的系统搞完了,又得去搞下
    发表于 10-08 15:05