Marvell8688模塊調試

      這周終於能確認硬件連接Marvell8688沒有問題了。之前一直出現CMD5指令超時的情況。當時換Atheros6002的模塊也超時。因爲當時是自己手工飛線焊的,所以也無法十分肯定是硬件問題還是飛線或軟件的問題。後來換了一塊WIFI模塊板後CMD5指令通訊成功。於是終於鬆了口氣,確認軟件沒有問題了。於是找硬件同事查WIFI的DEMO板故障,最後發現是有兩個電阻沒有貼上去。真是雷人得很,不過想想也很正常。因爲很多時候,硬件設計的時候都會設計一些預留器件,實際上卻不貼,是爲了適應各種應用場合的需要。但這也埋下了很多隱患。這個時候,軟件工程師的硬件測試水平就顯得格外重要。因爲只有有經驗的軟件工程師才能通過必要的硬件測試,得出是否是硬件故障導致軟件問題的結論。如果軟件工程師無法確定是硬件的問題,還是軟件的問題,那麼他會陷入很尷尬和被動的境地。硬件工程師一般不會承認自己的電路有問題的,呵呵。

      當硬件工程師交給我修復後的板子後,我測試SDIO的CMD引腳,發現CMD5指令的下發波形正確,但是後面就一直是高電平。沒有迴應信號。開始懷疑硬件還是有問題。後來聯想到前一個模塊板因爲供電電壓不是很規範,必須每次要物理斷開模塊一次就可以通信成功。於是我又找硬件同事幫我把WIFI模塊的RESET腳接上,然後用GPIO對該腳進行復位操作。這個時候再發送CMD5指令,從示波器中可以看到一個完整的CMD5發送和相應指令波形。這個時候已經證明我的SDIO模塊可以正常通信了。下週開始就要調後面的關鍵性指令CMD52、CMD53了。

      另外說個小插曲:高通6085平臺下的源文件大約有1萬多個(行數就無法統計了)。如果不幸修改了一個很多地方都被引用的頭文件,那麼編譯一次需要的時間及其長。對於初期測試性調試很不利。一般一個工程重新編譯加鏈接,需要兩個半小時。大家可以想象一下,你只是加了一行打印信息想看看某個信息,就得等待1個多小時的編譯過程,這是多麼的可怕。也許你一天工作12小時,也就是加了5、6條打印語句。後來採用了一個分佈式編譯工具之後,整個工程的編譯、鏈接過程立刻縮短至半個小時左右。一般情況下的編譯、鏈接花費一刻鐘。這樣極大的提高了工作效率。不過分佈式編譯只對編譯過程有效,對鏈接過程沒有太大效果,不過已經很不錯了。

發佈了124 篇原創文章 · 獲贊 8 · 訪問量 32萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章