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

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

3天内不再提示

工程师:有关赛灵思器件调试视频应用的经验总结

工程师人生 来源:Xilinx工程师 作者:Xilinx工程师 2020-11-16 15:03 次阅读

引言

本篇博文并非技术类文章,但无疑是专为技术人员撰写的。完成几个项目之后,您心知肚明这些项目能够一蹴而就或多或少都掺杂些运气成分。您可能会遇到人为错误、事先未曾预料到的困难、甚至是超出您控制的问题(比如,源端 (source) 或接收端 (sink) 设备的问题)。

工程师的职责就是解决问题。只要采用正确的方法,就可以快速找到并解决问题根源,而不会对项目产生影响(希望项目规划为此预留了一些时间)。

我在赛灵思全球技术支持 (WTS) 部门供职多年,因此,我尝试将所学到的有关如何在赛灵思器件上调试视频应用的经验加以总结融会贯通。


步骤 1 - 深入透彻了解系统

开始调试前,您必须明确了解自己的系统的运作方式。首先简单描述期望的系统用途,包括期望的系统功能。例如,记录系统是否仅支持 1080p 视频,或者是否支持从 SD 到 UHD 范围内的各种分辨率。

记得画一张系统原理图,很有用。原理图的主要作用在于展示流经系统的数据。 您甚至可以给系统添加对应于所写描述的标签。 如果要使用软件应用,那么还有必要画一张描述此类应用的基本软件流程图。

这不仅有助于您更好地了解自己的系统并识别潜在的故障点,对于愿意帮助您调试系统的任何其他人同样很有帮助。

步骤 2 - 尝试失败

第 2 步是尝试明确可反复重现问题的步骤。这将有助于您明确哪些变化因素会导致系统故障以及哪些变化因素对于问题没有影响。

它还可以帮助您集中精力解决根因,并提供一种实施修复后的验证手段。

在这一步中,您通常需要捕获有关系统行为和交互的数据。

例如,在视频系统中,您可能想要了解不同输入(即,GPU 之类的视频源端)或不同输出(即显示器或测试设备之类的接收端 (sink))是否会生成不同行为。

执行此类测试时,需捕获有关系统输入和输出的详细信息,包括系统的视频源端 (source) 和/或视频接收端 (sink) 的说明,以及测试期间配置。

如果故障可重现,请记录相关系统和配置信息,然后检查更改某个变量(例如,尝试改变输入,或者改变输入运行的操作系统)后是否仍旧会发生故障。

应最大限度减少每次测试期间所改变的参数数量,最好每次仅调整一个参数。

步骤 3 - 识别问题根源

故障可重现后,下一步要做的就是识别问题的根源。

首先我要介绍的方法我称之为逐个击破法。

即,重现故障后,我会尝试通过移除系统部分器件来确认问题是否仍然存在。

为确认设计分割位置,最佳方法是参阅步骤 1 中创建的原理图。 例如,如果在视频设计的传递部分发生故障,那么我会通过观察原理图来确认设计的捕获和显示部分的合理分割位置。然后,我会测试移除源端的情况下,使用测试模式生成器来向外发送固定模式并确认结果。

如果问题仍然存在,即可知我无需再检查输入,而是只需对系统的显示或输出部分集中执行其他调试步骤即可。 应该注意的是,这可能需要修改设计才能实现,但通常系统由软件控制,可通过软件来开启和关闭测试模式,而无需修改设计本身。

尽可能限定问题范围后,即可寻找可用工具来调试问题。

对于视频系统,您可添加 Integrated Logic Analyzer (ILA),如视频系列 31 - 使用 ILA 调试视频系统中所示。使用步骤 1 中的原理图来寻找放置探针的最佳位置。这将有助于您确认数据路径中是否有个别 IP 未按期望的方式运行,例如,未使用或未生成任何数据或者生成的数据错误。

如果系统使用的是 Linux 或者软件应用可输出至 UART,那么请使用所获得的输出来收集调试数据。它可提供有关应用运行失败的阶段或者失败原因的信息。 并且,调试时请放心在应用中随意添加更多打印或日志记录功能,解决问题后可随时将其移除。

注释:使用 UART 时,有时最好先捕获数据,稍后再打印,因为打印信息过多可能导致出现更多中断从而改变整个系统的行为。

并且,许多应用或驱动具有内置调试功能,甚至可能已提供调试应用,例如,Linux 上提供的 media-ctrl 或 modetest 命令。 您可参阅 IP/驱动/应用文档来了解相关信息。

如果应用已挂起,还可以通过“Debug”模式来运行应用,逐步分析应用以确认其挂起位置。

步骤 4 - 利用关键字来描述问题

在各种调试方法中并未论及此方法,但别忘了我们身处于互联网和搜索引擎的时代。

就像在步骤 1 中描述系统一样,只要把问题描述缩短到几个关键字,不仅可以帮助您明确问题核心,还将帮助您在网上找到相关问题(和解决方案),从而帮助您解决问题。

如果您已确认问题发生在某个具体 IP 上,那么第一个关键字就是此 IP 的名称。

然后,尝试寻找到描述该问题的单个关键字。 如果在输出控制台中包含错误,那么轻而易举就能找到这个关键字。

如果所选关键字并未返回任何结果,有时需要寻找描述相同问题的近义词或其他方法。 比如,“我的屏幕上为何会出现噪点?”或者“我的屏幕为何有雪花?”

步骤 5 - 查找相关已知问题

他人可能遇到过相同的问题,因此寻找相关问题记录总归有利无害。 您可利用许多资源来查找已知问题或者更详细的调试信息。

您可以通过直接搜索预定义位置来寻找所需信息。 通过缩小搜索范围,可以提高找到相关问题的几率。

您可通过下列位置来查找赛灵思视频系统相关信息:

  • IP 产品指南 (PG):
    • 大部分 IP 产品指南都包含调试部分(通常位于附录部分中)。请务必遵循提供的所有步骤进行操作。这些步骤是根据他人使用 IP 中所遇到的问题编写的,因此很可能对您会有所帮助。
    • 您还可以尝试在产品指南中使用步骤 4 中定义的关键字来执行搜索。
  • IP 主答复记录 (AR):
    • 每个赛灵思 IP 都有其主答复记录,其中列出了赛灵思已知的各种核的所有已知问题。您可以在这里进行搜索,以确认您的问题是否存在相关记录以及修复方法。

查找特定 IP 的主答复记录的途径之一是访问视频设计中心 (Video Design Hub)。在 IP 类别下,可以查找主答复记录和产品指南。

  • 网络信息膨胀的时代背景下,可能他人在别处已提出过与您相同的问题,尤其是在赛灵思论坛上。请善用搜索引擎以及来自步骤 5 的关键字来搜索答案。

如果找不到任何相关主题,那么您可藉此机会在赛灵思社区论坛上创建新主题。

  • 对于 Linux 系统,赛灵思还提供维基百科页面,其中包含在基于 Linux 的系统中使用 IP 的相关具体信息。赛灵思维基百科包含对应于所有 Linux 驱动的页面。

    这些驱动页面包含有关 Linux 驱动支持的硬件功能的信息以及测试和调试信息,可有助于您重现并识别系统故障。

编辑:hfy


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

    关注

    32

    文章

    1794

    浏览量

    131246
  • 工程师
    +关注

    关注

    59

    文章

    1569

    浏览量

    68501
  • Linux
    +关注

    关注

    87

    文章

    11292

    浏览量

    209323
收藏 人收藏

    评论

    相关推荐

    有考虑深圳国企岗位的基带硬件工程师吗?

    基带工程师(岗位进去主要做信创类和5G手持终端模块类等) 考虑可微信联系:Bonnie2017060132 职位介绍 1、从事MTK/高通等平台的手机硬件设计。能够独立完成器件选型,原理图
    发表于 12-12 14:49

    硬件工程师入门的基础元器件知识

    本文介绍了硬件工程师入门的基础元器件,包括二极管、三极管、MOS管和IGBT。对比了肖特基二极管与硅二极管的特性,探讨了三极管作为开关的应用和电阻选择方法,解释了MOS管的结构和栅极串联电阻布局,并
    的头像 发表于 12-10 10:19 468次阅读
    硬件<b class='flag-5'>工程师</b>入门的基础元<b class='flag-5'>器件</b>知识

    KiCon 演讲回顾(十三):嵌入工程师的硬件梦之 KiCad 经验和项目分享

    “  在KiCon Asia 2024,我们有幸听到了@IAMLIUBO 的分享——嵌入式工程师的硬件梦之KiCad经验分享。   ” 以下是完整演讲视频: 为什么选择KiCad? 跨平台支持
    的头像 发表于 12-09 01:02 189次阅读
    KiCon 演讲回顾(十三):嵌入<b class='flag-5'>工程师</b>的硬件梦之 KiCad <b class='flag-5'>经验</b>和项目分享

    正是拼的年纪|65岁电子工程师上班VLOG #65岁退休 #电子工程师 #搞笑 #上班vlog

    电子工程师
    安泰小课堂
    发布于 :2024年07月25日 11:31:02

    硬件工程师如何做元器件变更的决策

    硬件工程师如何做元器件变更的决策某产品在从研发转规模生产阶段,采购部门给硬件工程师推荐了新的MOSFET(称为A),该物料比该产品研发阶段使用的MOSFET(称为B)价格更低,且供货渠道更友好。作为
    的头像 发表于 07-06 08:17 502次阅读
    硬件<b class='flag-5'>工程师</b>如何做元<b class='flag-5'>器件</b>变更的决策

    嵌入式软件工程师如何提升自己?

    的发展打下坚实的基础。 2.掌握专业技能 除了基础知识外,嵌入式软件工程师还需要掌握专业的技能。这包括熟练掌握嵌入式系统的开发工具、硬件平台和软件开发流程。建议通过参加培训课程、实习经验或自学等方式
    发表于 06-12 11:20

    嵌入式软件工程师和硬件工程师的区别?

    ,并且了解嵌入式系统的工作原理。此外,他们还需要具备良好的逻辑思维能力,能够快速解决复杂的软件问题。嵌入式软件工程师在软件开发方面有着丰富的经验,能够编写高效稳定的嵌入式软件,并且熟悉实时系统开发和调试
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    优秀电源工程师需要哪些必备技能?

    工程师,除了不断学习各项技能提升自己的能力以外,还需在实践中积累电源设计经验,不断总结思考。相信相信的力量,总有一天你也会成为能够独当一面的人。
    发表于 01-29 11:29

    【2023电子工程师大会】我和LabVIEW:工程师经验分享pp

    【2023电子工程师大会】我和LabVIEW:工程师经验分享ppt
    发表于 01-03 16:31 18次下载