調試無(wú)線(xiàn)應用程序
無(wú)線(xiàn)應用程序調試部分將介紹分析儀捕獲緩沖溢出和工作量巨大的基于串行的協(xié)議拆分。通常使工程師淹沒(méi)于令人厭煩并且耗費時(shí)間的任務(wù)之中,他們需要手動(dòng)拼接并解碼復雜的背靠背 (back-to-back) 捕獲數據以分析單個(gè)用戶(hù)事件的內部工作。本文詳細說(shuō)明了如何利用基于 PC 的工具來(lái)輕松地調試和文檔化無(wú)線(xiàn)應用程序。
無(wú)線(xiàn)系統級交互式調試捕獲經(jīng)常會(huì )超過(guò)傳統測試設備的固定長(cháng)度捕獲緩沖容量,甚至對于表面看來(lái)很簡(jiǎn)單的應用程序也是如此,例如無(wú)線(xiàn)桌面鼠標設計。調試即使最簡(jiǎn)單的行為,例如成對的兩個(gè)無(wú)線(xiàn)設備,假如按下第一個(gè)設備上的按鈕后緊接著(zhù)再按下第二個(gè)設備上的按鈕,傳統的分析儀在這種情況下會(huì )變得毫無(wú)用處。同樣,利用任何基于交互式的無(wú)線(xiàn)調試界面也使您感到異常煩躁,這將會(huì )使僅僅在開(kāi)始和結束部分調試,而中間的數據會(huì )被遺留。對于那些尺寸不適當的分析儀,其捕獲緩沖會(huì )迫使無(wú)線(xiàn)工程師忙于應付那些令人厭煩并且耗費時(shí)間的任務(wù),他們需要手動(dòng)拼接和解碼復雜的背靠背捕獲數據?;?PC 的分析儀能夠連續將捕獲的緩沖數據源源不斷地流入您的計算機內存中,這不僅簡(jiǎn)化了那些平淡無(wú)味的任務(wù)——即不停地為冗長(cháng)的調試對話(huà)捕獲數據,而且通過(guò)簡(jiǎn)化那些不必要的拼接操作,還極大地減少了您耗費在后處理和分析數據上的時(shí)間。當大家初次看到冗長(cháng)的捕獲緩沖流時(shí),他們常常會(huì )很驚訝地學(xué)到很多新東西,比如傳統的測試設備不能支持的系統級交互式的事件。
將很多基于串行的協(xié)議拆分為位和字節的數據,此舉不僅容易出錯而且還會(huì )耗費過(guò)多的時(shí)間。傳統的無(wú)線(xiàn)應用程序調試策略,例如貫穿你的應用程序編碼 printf 調試語(yǔ)句通常能夠減輕很多任務(wù)壓力,但是在有損害或可能遇到的不必要的副作用的情況下就不適用,例如代碼膨脹、代碼執行矛盾、代碼迷惑以及要求其他的硬件資源?;?PC 的分析儀配備有靈活的總線(xiàn)級的解碼工具,通過(guò)點(diǎn)擊鼠標按鈕就可毫不費力地拆分和精確地顯示大塊的捕獲緩沖數據,從而極大地減少調試時(shí)間??焖俣咝У目偩€(xiàn)級解碼能夠使工程 是愉快地設計(engineering juices flowing),并使其他那些令人厭煩的位級解碼任務(wù)變成快速和容易受結果驅動(dòng)的調試界面。一旦您使用了自動(dòng)化的總線(xiàn)級解碼來(lái)快速解決復雜的系統級交互式的無(wú)線(xiàn)應用程序 Bug,您就會(huì )感到一切都已變的如此輕而易舉。您甚至可以備忘錄的形式記錄這些結果。這么好的東西,怎么可能不用呢?
對于后處理和分析捕獲的數據,傳統的測試設備為工程師提供的那些 “另存為”工具還不能滿(mǎn)足要求。通常情況下,這些分析儀會(huì )以專(zhuān)用格式來(lái)保存所捕獲的緩沖數據,一般這會(huì )導致極其重要的調試信息丟失。如此一來(lái),就迫使工程師把無(wú)數的時(shí)間耗費在將所保存的捕獲緩沖數據轉化為ASCII格式上,進(jìn)而將其轉移至過(guò)時(shí)的軟盤(pán)并導入到基于 PC 的軟件中以便于最后進(jìn)行后處理和分析?;?PC 的分析儀可將他們的捕獲緩沖數據直接保存到計算機的硬盤(pán)中,并將重要的信息釋放到電子表格(例如Microsoft Excel)中進(jìn)行后處理和數據處理,同時(shí)還允許任何人使用基于 PC 的虛擬儀器軟件以其原始的格式來(lái)重放所捕獲的數據。此外,無(wú)線(xiàn)應用行業(yè)專(zhuān)家經(jīng)常會(huì )一分為二,成為不同工種的專(zhuān)家。在調試交互式無(wú)線(xiàn)應用程序時(shí),單獨減少所捕獲數據的后處理時(shí)間顯得十分重要,這可通過(guò)增加多站點(diǎn)工程技術(shù)人員花費在查看和分析所捕獲數據上的時(shí)間總數來(lái)實(shí)現。如果一種軟件能夠允許任何人重放已知的、良好的、系統級交互式的捕獲緩沖數據,并將其行為與調試系統的捕獲緩沖數據加以比較,那么這種無(wú)線(xiàn)應用程序調試工具的價(jià)值是不可估量的。也可將重放作為簡(jiǎn)單的培訓工具使用,以便于更好地理解和文檔化各種無(wú)線(xiàn)應用程序的交互性和依賴(lài)性,通常這兩項僅出現在此領(lǐng)域。
即使對最聰明并且精力最旺盛的工程師來(lái)說(shuō),調試此領(lǐng)域的無(wú)線(xiàn)應用程序也是一項很具有挑戰性的工作。拖著(zhù)笨重的測試設備,繞著(zhù)全球的機場(chǎng)和往返列車(chē)滿(mǎn)世界亂轉,這種場(chǎng)景深深地將生活中最痛苦的一組回憶烙記到人的腦海中。當工程師按部就班地改組測試工作臺以適應最近的“本周調試成果”時(shí),經(jīng)常就會(huì )超過(guò)花費在捕獲數據上的時(shí)間?;?PC 的分析儀旨在利用計算機上眾多的可用資源,這種分析儀常??尚〉阶銐蛟陲w機的椅背小桌上使用。。 我想,這意味著(zhù)天空或許真的不是極限。
作者:Troy Gentry(電子郵件:tge@cypress.com),賽普拉斯半導體公司人機接口器件集團首席應用工程師。
評論