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

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

3天内不再提示

嵌入式系统分析工具

lPCU_elecfans 来源:未知 作者:李倩 2018-05-30 09:30 次阅读

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

选择调试器

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

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

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

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

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

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

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

图 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 PrecisionBK2190E这样的双通道 100 MHz 范围的传统示波器,或者SparkFun ElectronicsLogic Pro 8 USB 逻辑分析仪。Logic Pro 8 非常适合用于分析通用输入/输出行为和通信协议。该分析仪能够同时监控多达八个通道,并提供触发功能,用于捕捉电平、上升沿或下降沿。

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

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

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

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

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

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

构建工作台的技巧和诀窍

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

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

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

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

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

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

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

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

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

总结

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

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

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

    关注

    38

    文章

    7144

    浏览量

    161978
  • 嵌入式系统
    +关注

    关注

    40

    文章

    3427

    浏览量

    128215
  • 调试器
    +关注

    关注

    1

    文章

    288

    浏览量

    23396

原文标题:分分钟教你巧妙构建终极嵌入式软件工作台

文章出处:【微信号:elecfans,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式热门发展方向有哪些?

    感器网络数据的实时分析、数据融合及预警服务。在智慧工厂及工业自动化方面,嵌入式人工智能可以改进传统的工业生产模式,提升生产能力及优化工厂运行。 3.工业自动化: 嵌入式系统在工业自动化
    发表于 04-11 14:17

    嵌入式工程师需要掌握哪些技术?

    Bluetooth、Wi-Fi和LoRa等的了解也是有益的。 5. 调试和故障排除能力:嵌入式系统开发中经常会遇到各种问题和错误。因此,具备良好的调试和故障排除能力是非常重要的。你需要学会使用调试工具和设备,如
    发表于 03-04 16:38

    嵌入式系统发展前景?

    的发展前景也十分广阔。 随着物联网和智能设备的快速发展,嵌入式系统将更为普遍地应用于各种设备和设施,包括家用电器、医疗设备、交通工具等。这些设备将通过嵌入式
    发表于 02-22 14:09

    嵌入式软件开发应该掌握哪些知识?

    和 Thumb 模式的区别,以及 ARM Cortex 系列处理器的特性。 嵌入式 ARM 开发:学习如何在嵌入式系统中使用 ARM 处理器进行开发,包括交叉编译工具链的配置、裸机编程
    发表于 02-19 11:23

    嵌入式学习步骤

    嵌入式行业是一个涉及广泛领域的行业,嵌入式、物联网、人工智能、智能与科学、电子信息工程、通信工程、自动化工程、测控、计算机科学等专业在嵌入式系统中使得软件和硬件的结合更加高效,适合从事
    发表于 02-02 15:24

    嵌入式自学好书推荐

    嵌入式自学好书推荐 在数字时代的浪潮中,嵌入式系统一直是数字电子产品中的重要组成部分。无论是家用电器、工业控制、汽车电子、医疗保健、军事应用还是物联网,嵌入式
    发表于 01-11 15:13

    单端口网络S参数测量系统分析

    单端口网络S参数测量系统分析
    的头像 发表于 01-05 09:22 213次阅读
    单端口网络S参数测量<b class='flag-5'>系统分析</b>

    嵌入式硬件和软件哪个好?

    方案,要求理解嵌入式系统架构,有一定的C语言基础,熟悉ARM、protel设计软件,有四层板开发经验。 成为优秀的嵌入式硬件开发工程师需具备以下技能:由需求分析至总体方案、详细设计的规
    发表于 12-05 15:17

    嵌入式软件开发常用工具有哪些?

    收购。 2、IAR Embedded Workbench:这是一款为嵌入式系统设计者提供高级开发工具的软件套装,支持ARM、Cortex-M、8051、PIC等众多微控制器。 3、Code
    发表于 11-10 11:03

    什么是嵌入式Linux?

    发展需要不断进化。随着芯片性能的增强和社会变革的需要,嵌入式系统越来越承接更多、更复杂的功能,所以嵌入式开发也以高薪稳定的状态稳坐在就业的顶端。(相较于其他行业,嵌入式工程师的工资在同
    发表于 10-11 13:47

    STM32嵌入式操作系统介绍

    嵌入式操作系统的特点• 嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统
    发表于 09-28 06:59

    嵌入式软件好还是硬件好?

    架构,有一定的C语言基础,熟悉ARM、PROTEL设计软件,有四层板开发经验。 成为优秀的嵌入式硬件开发工程师需具备以下技能:由需求分析至总体方案、详细设计的规划能力;熟练运用设计工具、设计原理图
    发表于 09-18 15:31

    STM32嵌入式操作系统介绍

    嵌入式操作系统的特点• 嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统
    发表于 09-11 07:24

    嵌入式新手应该怎么学?

    嵌入式新手应该怎么学? 对于嵌入式新手来说,知道一点嵌入式,知道嵌入式大概是做什么的,不是很懂,所以要熟悉掌握嵌入式的概念。我们可以看到网上
    发表于 09-08 10:22

    EsDA — 嵌入式系统设计自动化工具

    EsDA — 嵌入式系统设计自动化工具
    的头像 发表于 06-09 10:26 358次阅读
    EsDA — <b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>设计自动化<b class='flag-5'>工具</b>