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

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

3天内不再提示

硬件调试领域的各项挑战

CEVA 来源:lp 2019-03-26 10:46 次阅读

介绍

日常生活中,我们不会注意到最常用设备核心的复杂芯片 — 它们通常隐藏在设备内部。另一方面,芯片的功能却非常引人注目:它们能让我们使用手机拍摄高质量的照片,驾驶时提醒我们注意行人,以及检测和识别我们向虚拟助手发出的命令。在本系列文章中,我将重点讨论验证芯片功能所面临的挑战。

正如广告宣传的那样,在设备光鲜亮丽的外表下,隐藏着一支杰出的人才队伍 — 研究人员、硬件架构师、硬件设计师、软件开发人员、集成商和质量保证工程师 — 他们确保了每一块芯片在任何可能的情况下都能平稳运行。这些人员即使处于不同时区空域,也必须努力协作。他们的任务就是确保拼图的各个部分完美地组合在一起,并通过大量的软件代码行和硬件逻辑块来确保所需要的功能顺利实现,以满足消费者的预期要求。实现这些芯片功能的最大挑战之一在于软件和硬件之间的边界。

硬件调试

我假定垂阅这篇文章的您已对嵌入式设计领域有所了解,但我仍需快速扼要地复述一些主要的挑战,特别是当开放嵌入式 DSP软件时的挑战。

首先,为什么您想使用 DSP?CEVA DSP 专门用于多个应用领域,如人工智能计算机视觉语音识别和移动通信。相比通用 CPU,使用 DSP 可以实现更高的性能和更低的功耗,同时仍能保持软件编程的灵活性。CEVA DSP 可在必要时运行实时操作系统,以保证 DSP 应用程序通常所需要的实时性能。应用程序既可以在多核系统上同时运行多个线程,又可以在单核系统上分时运行。然后,线程可以异步处理多个并行进程,从而控制系统的不同硬件元素以及处理数据。

举个 DSP 操作的例子,它可以通过增强颜色或对比度、采用高动态范围 (HDR)算法将多个图像融合为一个图像、自动检测场景内容、或稳定快速行驶期间手持电话拍摄的抖动视频来处理相机的图像。或者,它还可以对来自两个传感器的两个每秒 120 帧/12 位采样率/超高清 8K分辨率视频流来执行上面所有这些功能,。在这种复杂运算时,数据传输率可超过每秒 33GB,因此,确保该过程每一步都能按预期运行具有非常大的复杂性和挑战性。

DSP 架构可能相当复杂,相应的汇编操作可能跨越多条线路。为了满足预期吞吐量,需要通过专用编译器或由程序员手动对代码进行性能优化。这包括展开循环、重新排序指令并将其组合在一起以便在单个循环内并行执行等等。调试此类代码可能非常困难,且需要非常先进的调试工具。

通常,新功能的开发都从高级开发语言环境开始,例如Matlab、Visual Studio 或在PC 上运行的GNU 开发/调试工具。这些环境在软件开发人员中很受欢迎,文档完善,拥有很多针对各种算法的现成方法,并且通常以开源方式分发。这样可以快速提升软件、重用代码、利用高级编程环境并采用快速服务器基础设施。工程师可以很便捷地进行通信,共享代码并在多个开发人员甚至团队之间分工协作。这些开发环境可提供一种简单而舒适的调试体验:程序员可在运行时在应用程序内部进行步进操作,以检查内存和变量值、设置断点、手动操纵资源并检查结果,有时,甚至可以在不停止调试应用程序的情况下重新编译代码,从而相对容易地跟踪漏洞和实施过程中发生的故障。

但最终,该软件需要能够运行起来,并且在嵌入式目标上有效运行。那时,开发人员必须有能够在实际芯片上进行调试和优化软件的工具。这就需要主流的开发和调试工具有更高的能力的。

硬件调试领域的各项挑战

由于目标芯片或设备在我们的桌面工作环境中属于“外来”元素,因此在目标硬件上调试软件会面临一系列不同的挑战。桌面工作环境及其操作系统对自身的计算引擎(在一定程度上)有所了解,但通常没有访问外部硬件内部状态的通用方法。这就是为什么最终您必须采用硬件供应商提供的嵌入式开发环境的原因。这些嵌入式开发工具可以与目标设备进行通信,并观测或操纵内部状态。当您在不同的调试环境中进行这种详细调试和优化时,会希望这些工具能提供易于使用的调试体验,并且能够完全支持您在这个阶段的所有需求。

对于目标硬件的调试可能具有挑战性,因为很多情况在您的早期开发中都无法预见。您只要与 DUT(被测设备)建立调试连接,就可能会遇到一些匪夷所思的通信问题。更为普遍的是,硬件调试问题可能发生在各个阶段:在初始连接、设备重置、应用程序加载、分步调试程序或查看内存和变量值时;这些问题的原因可能并不明显。基于主机或通用的开发和调试工具对目标平台并不了解,因此,在分析此类问题方面几乎没有帮助。您只能寄希望于一个充分了解你所构建系统的开发/调试平台。

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

    关注

    11

    文章

    2917

    浏览量

    64711
  • 编译器
    +关注

    关注

    1

    文章

    1569

    浏览量

    48598
  • 计算机视觉
    +关注

    关注

    8

    文章

    1589

    浏览量

    45588

原文标题:专家解读|硬件调试的复杂性 — 第 1 部分

文章出处:【微信号:CEVA-IP,微信公众号:CEVA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PLC系统的安装与调试流程

    PLC控制系统的安装与调试,涉及到各项工作,并且只能按序进行,一环紧扣一环,稍有不慎都将导致调试失败,不但延误工期,甚至会损坏设备。本文介绍了在现场实践中总结出的PLC控制系统的安装与调试
    的头像 发表于 03-27 17:08 165次阅读
    PLC系统的安装与<b class='flag-5'>调试</b>流程

    使用带有DAP miniwiggler硬件的memtool进行闪存,如何使用memtool进行调试

    我正在尝试使用带有 DAP miniwiggler 硬件的 memtool 进行闪存。 但是我不知道如何调试它。 另外,如果它们有任何设置可以将程序计数器设置为我们的应用程序内存地址,那将非常有帮助。 如何使用memtool进行调试
    发表于 01-23 06:37

    FPGA硬件电路的调试必备原则和技巧

    调试FPGA电路时要遵循必须的原则和技巧,才能降低调试时间,防止误操作损坏电路。通常情况下,参考以下步骤执行 FPGA硬件系统的调试。 1、在焊接
    的头像 发表于 12-22 16:40 277次阅读
    FPGA<b class='flag-5'>硬件</b>电路的<b class='flag-5'>调试</b>必备原则和技巧

    语音识别技术在医疗健康领域的应用与挑战

    随着医疗健康领域的发展和人工智能技术的进步,语音识别技术在医疗健康领域的应用越来越广泛。本文将探讨语音识别技术在医疗健康领域的应用以及面临的挑战
    的头像 发表于 11-01 17:21 346次阅读

    语音识别技术在安全领域的应用与挑战

    随着社会对安全需求的不断增加,语音识别技术在安全领域的应用越来越广泛。本文将探讨语音识别技术在安全领域的应用以及面临的挑战
    的头像 发表于 10-26 14:48 279次阅读

    Vivado Design Suite 用户指南:编程和调试

    《Vivado Design Suite 用户指南:编程和调试》 文档涵盖了以下设计进程: 硬件、IP 和平台开发 : 为硬件平台创建 PL IP 块、创建 PL 内核、功能仿真以及评估 AMD
    的头像 发表于 10-25 16:15 422次阅读
    Vivado Design Suite 用户指南:编程和<b class='flag-5'>调试</b>

    多核应用调试工具CodeViser介绍

    ,J&DTech通过先进的软硬件调试工具为移动、多媒体、国防、安全、教育和消费电子领域的客户提供服务。通过与芯片供应商的密切合作,J&DTech已将其服务区域扩展至全球市场。
    的头像 发表于 10-20 16:51 416次阅读
    多核应用<b class='flag-5'>调试</b>工具CodeViser介绍

    【CVM01系列】| MCU硬件设计指南:调试和编程接口

    【CVM01系列】| MCU硬件设计指南:调试和编程接口
    的头像 发表于 09-18 10:56 582次阅读
    【CVM01系列】| MCU<b class='flag-5'>硬件</b>设计指南:<b class='flag-5'>调试</b>和编程接口

    硬件调试流程介绍

    最近在调试产品,正好看到前人总结的一个调试流程图,总结了本文,供大家交流学习。首先我们看看如下这个流程图。 调试流程并不全然相同,有的时候会因为产品类型不一样会有一些差异。 如下是另外一位前辈总结
    的头像 发表于 09-10 10:16 888次阅读
    <b class='flag-5'>硬件</b><b class='flag-5'>调试</b>流程介绍

    训练大语言模型带来的硬件挑战

    生成式AI和大语言模型(LLM)正在以难以置信的方式吸引全世界的目光,本文简要介绍了大语言模型,训练这些模型带来的硬件挑战,以及GPU和网络行业如何针对训练的工作负载不断优化硬件
    的头像 发表于 09-01 17:14 1087次阅读
    训练大语言模型带来的<b class='flag-5'>硬件</b><b class='flag-5'>挑战</b>

    ARM DS-5使用调试硬件配置实用程序

    调试硬件配置实用程序使您能够连接到在您的开发平台和PC之间提供接口的调试硬件单元。 提供了以下实用程序: RVI配置IP实用程序使用此实用程序在调试
    发表于 08-12 06:54

    调试硬件的连接指南

    对于嵌入式系统开发,通常需要将目标硬件连接到主机执行调试。Arm提供JTAG和串行线调试(SWD)连接通过一系列调试探针,这些探针被调整以适应系统的需要: •DSTREAM和DSTRE
    发表于 08-08 07:45

    开源硬件之孩子们的拼写挑战

    电子发烧友网站提供《开源硬件之孩子们的拼写挑战.zip》资料免费下载
    发表于 06-27 11:25 0次下载
    开源<b class='flag-5'>硬件</b>之孩子们的拼写<b class='flag-5'>挑战</b>

    提高复杂串行协议的调试效率

    调试复杂的串行协议是验证工程师面临的最大挑战。这是影响每个项目进度的最耗费时间和精力的活动之一。传统的调试方法使用松散连接的波形、日志文件、消息和文档的组合,这不足以进行高效的调试。使
    的头像 发表于 05-26 11:23 442次阅读
    提高复杂串行协议的<b class='flag-5'>调试</b>效率

    PLC安装调试流程程序全过程

    PLC控制系统的安装与调试,涉及到各项工作,并且只能按序进行,一环紧扣一环,稍有不慎都将导致调试失败,不但延误工期,甚至会损坏设备。本文介绍了在现场实践中总结出的PLC控制系统的安装与调试
    的头像 发表于 05-22 15:41 1212次阅读