引言
本篇博文并非技術(shù)類(lèi)文章,但無(wú)疑是專(zhuān)為技術(shù)人員撰寫(xiě)的。完成幾個(gè)項(xiàng)目之后,您心知肚明這些項(xiàng)目能夠一蹴而就或多或少都摻雜些運(yùn)氣成分。您可能會(huì)遇到人為錯(cuò)誤、事先未曾預(yù)料到的困難、甚至是超出您控制的問(wèn)題(比如,源端 (source) 或接收端 (sink) 設(shè)備的問(wèn)題)。
但工程師的職責(zé)就是解決問(wèn)題。只要采用正確的方法,就可以快速找到并解決問(wèn)題根源,而不會(huì)對(duì)項(xiàng)目產(chǎn)生影響(希望項(xiàng)目規(guī)劃為此預(yù)留了一些時(shí)間)。
我在賽靈思全球技術(shù)支持 (WTS) 部門(mén)供職多年,因此,我嘗試將所學(xué)到的有關(guān)如何在賽靈思器件上調(diào)試視頻應(yīng)用的經(jīng)驗(yàn)加以總結(jié)融會(huì)貫通。
步驟 1 - 深入透徹了解系統(tǒng)
開(kāi)始調(diào)試前,您必須明確了解自己的系統(tǒng)的運(yùn)作方式。首先簡(jiǎn)單描述期望的系統(tǒng)用途,包括期望的系統(tǒng)功能。例如,記錄系統(tǒng)是否僅支持 1080p 視頻,或者是否支持從 SD 到 UHD 范圍內(nèi)的各種分辨率。
記得畫(huà)一張系統(tǒng)原理圖,很有用。原理圖的主要作用在于展示流經(jīng)系統(tǒng)的數(shù)據(jù)。 您甚至可以給系統(tǒng)添加對(duì)應(yīng)于所寫(xiě)描述的標(biāo)簽。 如果要使用軟件應(yīng)用,那么還有必要畫(huà)一張描述此類(lèi)應(yīng)用的基本軟件流程圖。
這不僅有助于您更好地了解自己的系統(tǒng)并識(shí)別潛在的故障點(diǎn),對(duì)于愿意幫助您調(diào)試系統(tǒng)的任何其他人同樣很有幫助。
步驟 2 - 嘗試失敗
第 2 步是嘗試明確可反復(fù)重現(xiàn)問(wèn)題的步驟。這將有助于您明確哪些變化因素會(huì)導(dǎo)致系統(tǒng)故障以及哪些變化因素對(duì)于問(wèn)題沒(méi)有影響。
它還可以幫助您集中精力解決根因,并提供一種實(shí)施修復(fù)后的驗(yàn)證手段。
在這一步中,您通常需要捕獲有關(guān)系統(tǒng)行為和交互的數(shù)據(jù)。
例如,在視頻系統(tǒng)中,您可能想要了解不同輸入(即,GPU 之類(lèi)的視頻源端)或不同輸出(即顯示器或測(cè)試設(shè)備之類(lèi)的接收端 (sink))是否會(huì)生成不同行為。
執(zhí)行此類(lèi)測(cè)試時(shí),需捕獲有關(guān)系統(tǒng)輸入和輸出的詳細(xì)信息,包括系統(tǒng)的視頻源端 (source) 和/或視頻接收端 (sink) 的說(shuō)明,以及測(cè)試期間配置。
如果故障可重現(xiàn),請(qǐng)記錄相關(guān)系統(tǒng)和配置信息,然后檢查更改某個(gè)變量(例如,嘗試改變輸入,或者改變輸入運(yùn)行的操作系統(tǒng))后是否仍舊會(huì)發(fā)生故障。
應(yīng)最大限度減少每次測(cè)試期間所改變的參數(shù)數(shù)量,最好每次僅調(diào)整一個(gè)參數(shù)。
步驟 3 - 識(shí)別問(wèn)題根源
故障可重現(xiàn)后,下一步要做的就是識(shí)別問(wèn)題的根源。
首先我要介紹的方法我稱(chēng)之為逐個(gè)擊破法。
即,重現(xiàn)故障后,我會(huì)嘗試通過(guò)移除系統(tǒng)部分器件來(lái)確認(rèn)問(wèn)題是否仍然存在。
為確認(rèn)設(shè)計(jì)分割位置,最佳方法是參閱步驟 1 中創(chuàng)建的原理圖。 例如,如果在視頻設(shè)計(jì)的傳遞部分發(fā)生故障,那么我會(huì)通過(guò)觀察原理圖來(lái)確認(rèn)設(shè)計(jì)的捕獲和顯示部分的合理分割位置。然后,我會(huì)測(cè)試移除源端的情況下,使用測(cè)試模式生成器來(lái)向外發(fā)送固定模式并確認(rèn)結(jié)果。
如果問(wèn)題仍然存在,即可知我無(wú)需再檢查輸入,而是只需對(duì)系統(tǒng)的顯示或輸出部分集中執(zhí)行其他調(diào)試步驟即可。 應(yīng)該注意的是,這可能需要修改設(shè)計(jì)才能實(shí)現(xiàn),但通常系統(tǒng)由軟件控制,可通過(guò)軟件來(lái)開(kāi)啟和關(guān)閉測(cè)試模式,而無(wú)需修改設(shè)計(jì)本身。
盡可能限定問(wèn)題范圍后,即可尋找可用工具來(lái)調(diào)試問(wèn)題。
對(duì)于視頻系統(tǒng),您可添加 Integrated Logic Analyzer (ILA),如視頻系列 31 - 使用 ILA 調(diào)試視頻系統(tǒng)中所示。使用步驟 1 中的原理圖來(lái)尋找放置探針的最佳位置。這將有助于您確認(rèn)數(shù)據(jù)路徑中是否有個(gè)別 IP 未按期望的方式運(yùn)行,例如,未使用或未生成任何數(shù)據(jù)或者生成的數(shù)據(jù)錯(cuò)誤。
如果系統(tǒng)使用的是 Linux 或者軟件應(yīng)用可輸出至 UART,那么請(qǐng)使用所獲得的輸出來(lái)收集調(diào)試數(shù)據(jù)。它可提供有關(guān)應(yīng)用運(yùn)行失敗的階段或者失敗原因的信息。 并且,調(diào)試時(shí)請(qǐng)放心在應(yīng)用中隨意添加更多打印或日志記錄功能,解決問(wèn)題后可隨時(shí)將其移除。
注釋?zhuān)菏褂?UART 時(shí),有時(shí)最好先捕獲數(shù)據(jù),稍后再打印,因?yàn)榇蛴⌒畔⑦^(guò)多可能導(dǎo)致出現(xiàn)更多中斷從而改變整個(gè)系統(tǒng)的行為。
并且,許多應(yīng)用或驅(qū)動(dòng)具有內(nèi)置調(diào)試功能,甚至可能已提供調(diào)試應(yīng)用,例如,Linux 上提供的 media-ctrl 或 modetest 命令。 您可參閱 IP/驅(qū)動(dòng)/應(yīng)用文檔來(lái)了解相關(guān)信息。
如果應(yīng)用已掛起,還可以通過(guò)“Debug”模式來(lái)運(yùn)行應(yīng)用,逐步分析應(yīng)用以確認(rèn)其掛起位置。
步驟 4 - 利用關(guān)鍵字來(lái)描述問(wèn)題
在各種調(diào)試方法中并未論及此方法,但別忘了我們身處于互聯(lián)網(wǎng)和搜索引擎的時(shí)代。
就像在步驟 1 中描述系統(tǒng)一樣,只要把問(wèn)題描述縮短到幾個(gè)關(guān)鍵字,不僅可以幫助您明確問(wèn)題核心,還將幫助您在網(wǎng)上找到相關(guān)問(wèn)題(和解決方案),從而幫助您解決問(wèn)題。
如果您已確認(rèn)問(wèn)題發(fā)生在某個(gè)具體 IP 上,那么第一個(gè)關(guān)鍵字就是此 IP 的名稱(chēng)。
然后,嘗試尋找到描述該問(wèn)題的單個(gè)關(guān)鍵字。 如果在輸出控制臺(tái)中包含錯(cuò)誤,那么輕而易舉就能找到這個(gè)關(guān)鍵字。
如果所選關(guān)鍵字并未返回任何結(jié)果,有時(shí)需要尋找描述相同問(wèn)題的近義詞或其他方法。 比如,“我的屏幕上為何會(huì)出現(xiàn)噪點(diǎn)?”或者“我的屏幕為何有雪花?”
步驟 5 - 查找相關(guān)已知問(wèn)題
他人可能遇到過(guò)相同的問(wèn)題,因此尋找相關(guān)問(wèn)題記錄總歸有利無(wú)害。 您可利用許多資源來(lái)查找已知問(wèn)題或者更詳細(xì)的調(diào)試信息。
您可以通過(guò)直接搜索預(yù)定義位置來(lái)尋找所需信息。 通過(guò)縮小搜索范圍,可以提高找到相關(guān)問(wèn)題的幾率。
您可通過(guò)下列位置來(lái)查找賽靈思視頻系統(tǒng)相關(guān)信息:
-
IP 產(chǎn)品指南 (PG):
- 大部分 IP 產(chǎn)品指南都包含調(diào)試部分(通常位于附錄部分中)。請(qǐng)務(wù)必遵循提供的所有步驟進(jìn)行操作。這些步驟是根據(jù)他人使用 IP 中所遇到的問(wèn)題編寫(xiě)的,因此很可能對(duì)您會(huì)有所幫助。
- 您還可以嘗試在產(chǎn)品指南中使用步驟 4 中定義的關(guān)鍵字來(lái)執(zhí)行搜索。
-
IP 主答復(fù)記錄 (AR):
- 每個(gè)賽靈思 IP 都有其主答復(fù)記錄,其中列出了賽靈思已知的各種核的所有已知問(wèn)題。您可以在這里進(jìn)行搜索,以確認(rèn)您的問(wèn)題是否存在相關(guān)記錄以及修復(fù)方法。
查找特定 IP 的主答復(fù)記錄的途徑之一是訪問(wèn)視頻設(shè)計(jì)中心 (Video Design Hub)。在 IP 類(lèi)別下,可以查找主答復(fù)記錄和產(chǎn)品指南。
- 在網(wǎng)絡(luò)信息膨脹的時(shí)代背景下,可能他人在別處已提出過(guò)與您相同的問(wèn)題,尤其是在賽靈思論壇上。請(qǐng)善用搜索引擎以及來(lái)自步驟 5 的關(guān)鍵字來(lái)搜索答案。
如果找不到任何相關(guān)主題,那么您可藉此機(jī)會(huì)在賽靈思社區(qū)論壇上創(chuàng)建新主題。
-
對(duì)于 Linux 系統(tǒng),賽靈思還提供維基百科頁(yè)面,其中包含在基于 Linux 的系統(tǒng)中使用 IP 的相關(guān)具體信息。賽靈思維基百科包含對(duì)應(yīng)于所有 Linux 驅(qū)動(dòng)的頁(yè)面。
這些驅(qū)動(dòng)頁(yè)面包含有關(guān) Linux 驅(qū)動(dòng)支持的硬件功能的信息以及測(cè)試和調(diào)試信息,可有助于您重現(xiàn)并識(shí)別系統(tǒng)故障。
編輯:hfy
-
賽靈思
+關(guān)注
關(guān)注
33文章
1797瀏覽量
132316 -
工程師
+關(guān)注
關(guān)注
59文章
1590瀏覽量
69467 -
Linux
+關(guān)注
關(guān)注
87文章
11508瀏覽量
213653
發(fā)布評(píng)論請(qǐng)先 登錄


硬件工程師看了只會(huì)找個(gè)角落默默哭泣#硬件工程師 #MDD #MDD辰達(dá)半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師
老工程師分享的模電設(shè)計(jì)經(jīng)驗(yàn)
工程師經(jīng)驗(yàn)分享:社區(qū)之星 趙云 沉著穩(wěn)定才能做好技術(shù)


硬件工程師的終極幻想:焊板子焊上人生巔峰!#半導(dǎo)體器件 #硬件工程師 #MDD辰達(dá)半導(dǎo)體
電子工程師的電源設(shè)計(jì)經(jīng)驗(yàn)分享
電子工程師的PCB設(shè)計(jì)經(jīng)驗(yàn)
電子工程師的電源設(shè)計(jì)經(jīng)驗(yàn)
電子工程師的電路設(shè)計(jì)經(jīng)驗(yàn)分享
電子工程師的經(jīng)驗(yàn)分享

不同時(shí)期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過(guò)于真實(shí) #YXC晶振 #揚(yáng)興科技
賽靈思低溫失效的原因,有沒(méi)有別的方法或者一些見(jiàn)解?
有考慮深圳國(guó)企崗位的基帶硬件工程師嗎?

評(píng)論