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

    文章

    3247

    浏览量

    66099
  • 编译器
    +关注

    关注

    1

    文章

    1618

    浏览量

    49043
  • 计算机视觉
    +关注

    关注

    8

    文章

    1696

    浏览量

    45923

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

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

收藏 人收藏

    评论

    相关推荐

    如何进行硬件调试

    硬件调试硬件系统设计、开发和制造过程中不可或缺的一环,旨在对可能出现的问题进行分析和解决。以下是进行硬件调试的一般步骤和方法: 一、准备阶
    的头像 发表于 11-10 10:17 360次阅读
    如何进行<b class='flag-5'>硬件</b><b class='flag-5'>调试</b>?

    解决验证“最后一公里”的挑战:芯神觉Claryti如何助力提升调试效率

    在高度集成化的芯片设计领域,验证是确保设计可靠性和正确性的关键环节。然而,电路的实现过程中难免会出现各种缺陷和不符合预期的行为,这时调试就显得尤为重要。调试不仅是发现问题后的排查和修复步骤,更是验证
    的头像 发表于 10-26 08:03 226次阅读
    解决验证“最后一公里”的<b class='flag-5'>挑战</b>:芯神觉Claryti如何助力提升<b class='flag-5'>调试</b>效率

    解锁SoC “调试挑战,开启高效原型验证之路

    引言由于芯片设计复杂度的提升、集成规模的扩大,以及产品上市时间要求的缩短,使得设计验证变得更加困难。特别是在多FPGA环境中,设计调试和验证的复杂性进一步增加,传统的调试手段难以满足对高性能、高效率
    的头像 发表于 10-09 08:04 495次阅读
    解锁SoC “<b class='flag-5'>调试</b>”<b class='flag-5'>挑战</b>,开启高效原型验证之路

    opa830的各项参数是什么啊?

    opa830的各项参数是什么啊
    发表于 09-25 07:50

    Midjourney正式宣告进军硬件领域

    8月29日最新动态,业界瞩目的AI图像创作先锋Midjourney正式宣告进军硬件领域,这一重大举措通过其在热门社交媒体X平台上的公告向外界传达,同时开放招募令,诚邀各路英才加盟其新设立的硬件研发团队。
    的头像 发表于 08-29 16:41 260次阅读

    说说硬件调试中发现的那些低级错误

    说说硬件调试中发现的那些低级错误 2024-07-03 11:47**·**一博高速先生 高速先生成员--周伟 最近遇到很多debug相关的咨询,曾经我们说过,我们做过的板子越多,遇到问题的概率也
    发表于 07-03 12:02

    说说硬件调试中发现的那些低级错误

    硬件调试中会经常遇到各种意想不到的问题,有些调试花了几个月,各种能想到的办法都尝试了,最后发现却是一个非常低级的错误,有多低级?请看今天的内文介绍。
    的头像 发表于 07-03 12:00 283次阅读
    说说<b class='flag-5'>硬件</b><b class='flag-5'>调试</b>中发现的那些低级错误

    解析当代硬件工程师面临的可靠性设计挑战与应对策略

    硬件电路可靠性设计硬件电路可靠性设计在多个关键行业中至关重要。电子产品制造业、工业控制与自动化、航空航天以及医疗设备领域,都对硬件稳定性和长期可靠性有严格要求。工程师在面对这些
    的头像 发表于 06-27 08:17 806次阅读
    解析当代<b class='flag-5'>硬件</b>工程师面临的可靠性设计<b class='flag-5'>挑战</b>与应对策略

    在机遇与挑战并存的AI时代,三星如何在DRAM领域开拓创新?

    在机遇与挑战并存的AI时代,三星如何在DRAM领域开拓创新?
    发表于 05-09 18:46 435次阅读
    在机遇与<b class='flag-5'>挑战</b>并存的AI时代,三星如何在DRAM<b class='flag-5'>领域</b>开拓创新?

    JTAG在整个嵌入式系统开发生命周期中的系统调试和测试中的作用

    时代变了。如今,内存空间和高CPU时钟频率“几乎”。设计、调试和测试挑战已经从硬件组件集成和调试发展到系统硬件设计的仿真,先于 SOC 流片
    发表于 05-03 10:13 383次阅读
    JTAG在整个嵌入式系统开发生命周期中的系统<b class='flag-5'>调试</b>和测试中的作用

    Cubemx5.10硬件调试时,根本进不了main是为什么?

    硬件调试时,根本进不了main。只要RCC使用HAL库正常。
    发表于 04-22 07:19

    PLC系统的安装与调试流程

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

    硬件工程师在可靠性设计中所面临的挑战及解决之道

    Course硬件电路可靠性设计HardwareEngineer硬件电路工程师在进行可靠性设计时,常常会陷入一系列烦恼之中。这些挑战包括成本、时间压力、可靠性预测的不确定性、复杂性增加以及设计限制等
    的头像 发表于 03-23 08:16 842次阅读
    <b class='flag-5'>硬件</b>工程师在可靠性设计中所面临的<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 744次阅读
    FPGA<b class='flag-5'>硬件</b>电路的<b class='flag-5'>调试</b>必备原则和技巧