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


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


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

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

評論