新平台的WinCE移植經驗小結

2021-09-05 21:44:33 字數 2090 閱讀 6458

最近在一款arm11的開發板上移植wince6.0,碰到了一些問題,也收穫了一些經驗。雖然arm+wince的開發已經做過一段時間了,但開始用一款新的mcu時,總會碰到這樣那樣的問題。

首先是datasheet,看慣了三星的文件,總覺得datasheet就該那麼寫,條理清晰,方便檢視。但不同廠家的文件有不同風格,起初除錯時很不習慣telechips的文件編排方式,要找到想看的內容得翻半天。這大概是先入為主的原因。晶元文件在開發過程中是很重要的資料,提高看文件的速度也就能提高開發的速度。所以在使用一款新mcu時,盡量放下先前的包袱,甚至經驗,以快速適應該晶元的風格。事實證明,後來花乙個多小時快速瀏覽了整篇datasheet後,再去找相關的內容就快多了,大大提高了工作效率。磨刀不誤砍柴工,有些時間是必須花的,而且也不會白花。

熟悉完datasheet後,接下來就要看bsp了。相對於datasheet,bsp的目錄組織比較規範,一般都遵循pqoal的標準。這裡主要看一下細節上的差異,如telechips的bsp中,將對硬體操作的部分封裝在src\lib\soc的目錄下,而這個目錄正是bsp移植過程中的乙個重要根據地,絕大多數的修改都在該目錄下進行。蛇打七寸,牛牽鼻頭,抓住關鍵點,接下來就可以動手了。

以前曾簡單介紹過wince6.0的移植步驟,wince的功能模組一般是按bootloader、oal、lcd驅動、外設驅動的順序,mcu的功能模組一般按gpio、uart、iic、spi等的順序,總之是按時間先後,由簡單到複雜。目前手上拿到的bsp,已經可以讓wince6.0跑起來,wince的功能模組的除錯可以直接進入外設驅動部分,而對應mcu的功能模組可以選擇gpio或者uart。

應專案需求,需要除錯的有gps、hdmi和cmmb。這裡以gps和hdmi的除錯過程為例簡單總結一下。我覺得這兩個是典型,可以分別代表兩類裝置,gps相對簡單,硬體原理也很清楚,而hdmi是從沒玩過的高階貨,好些東西得現google。

先說gps的除錯,驅動主要有兩個工作要做,乙個是gps模組的供電由乙個gpio來控制,另外乙個是除錯與gps模組連線的uart。gpio的控制比較簡單,大家的用法也一樣,有功能暫存器、控制暫存器、方向暫存器和資料暫存器,配置完成後就可以控制相應的io了。實現完這個簡單的控制驅動後,先用萬用表測一下相應的引腳,是否可以正常控制,能否讓gps模組工作起來。在實際除錯過程中,發現mcu端的io可以控制,但gps模組並沒有能正常工作,後來經硬體工程師幫忙檢視,發現是該io與gps模組之間少焊了乙個磁珠,事實上後來除錯時發現很多小器件都沒有焊,不過有曉峰支援,這些問題並沒有耽誤太多時間。解決了這個問題後,再用示波器測gps模組的txd引腳,果然有輸出,不過電平不對,被拉低了。經曉峰排查,是mcu把這個引腳拉低了,應該是軟體問題。到這裡,硬體的問題基本解決了,看起來簡單,但很重要。軟體依賴於硬體,硬體不通,軟體再怎麼調也是無濟於事的。所以,對於硬體原理比較清楚的介面,最好先從硬體處下手,排查可能由於原理、焊接等造成的意外,然後再除錯軟體。否則,本末倒置會嚴重影響除錯效率和心情。回過頭去看bsp有關串列埠的驅動,帶著gps模組txd被拉低的問題去看,很快就能定位到問題了,原來現有bsp中沒有對該串列埠做正確配置,仍然工作在io的模式下,從而將gps的txd拉低。改完後,gps的txd的輸出就正常了。又前進一步!接下來又碰到新問題。telechips的串列埠使用方式與先前用的mcu都不一樣,它分為port和ch兩部分,6個port和6個ch。不同的port可以對應的不同的ch上,可任意動態對映。第一次接觸這種使用方式,有點捉摸不透。翻來覆去看文件,找動態對映的規則,看了好久,恍然大悟。port是uart的硬體訊號埠,ch是uart的控制暫存器。根據該規則,修改驅動和登錄檔,再試一下,gps的資訊就乖乖的列印出來了。至此,gps模組基本調通,共花了半天時間,比預想的快一些,我想除錯步驟恰當是主要原因,否則,很有可能在這簡單的問題上折騰很久,還嚴重影響心情。所以對於這個種硬體介面清楚的,最好先除錯硬體,排查硬體的意外問題後,再除錯軟體,不能本末倒置。

綜合以上說的兩種情況,可以歸結為兩頭入手往中間靠,哪頭好搞先搞哪頭。寫了這麼多,記流水賬似的,但有時候很多事情真的需要像流水一樣,順勢而為才能游刃有餘。對於

wince

的除錯,抓住一些基本的除錯方法,按部就班的除錯總會有收穫,如果方法不對,努力得越多越鬱悶。

最後貼上hdmi的效果圖,m8拍的。

軟體測試新平台的渠道推廣會有點意思

如何消減 it成本?如何加快新型服務交付,通過高質量的軟體測試解決方案和工具將 it與業務聯絡得更為緊密?這幾乎是每個企業的 cio都不得不思考的問題。那麼,企業該如何選擇合適的 it系統應用質量管理解決方案和軟體測試工具呢?當前,中國經濟穩步邁入上公升期,我國軟體企業的管理水平和軟體測試水平得到迅...

我的2012 新架構 新平台 新業務 新SOC

2012,注定是不平凡的一年。如果世界還沒有毀滅,那麼來年一定會更加美好。時光飛逝,一轉眼,500多天又過去了。懷揣著10多年來始終未變的夢想與執著,我們又一次面對新的機遇,在我的眼前,是一片光明的未來。而回首過去的一 年半,我感覺我們的努力是多麼地值得。正是這500天的潛行,奠定了我們事業的新起點...

我的2012 新架構 新平台 新業務 新SOC

2012,注定是不平凡的一年。如果世界還沒有毀滅,那麼來年一定會更加美好。時光飛逝,一轉眼,500多天又過去了。懷揣著10多年來始終未變的夢想與執著,我們又一次面對新的機遇,在我的眼前,是一片光明的未來。而回首過去的一 年半,我感覺我們的努力是多麼地值得。正是這500天的潛行,奠定了我們事業的新起點...