新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于S3C2410的Windows CE 5.0 BSP移植

        基于S3C2410的Windows CE 5.0 BSP移植

        作者: 時間:2012-04-13 來源:網絡 收藏

        3.4 小結

        此次是升級,而硬件上基本沒有變化,因此很多代碼不需做修改即可使用,通過以上,不難發現此類移植過程中所要做的工作主要在以下幾個方面:

        ⑴ 修改dir文件,在dir文件中指定了當前目錄哪些文件夾被系統編譯,編譯器根據dir層層搜索,而移植不可避免的帶來了目錄的變化,通過修改dir來指定新的編譯路徑。

        ⑵ 修改sources文件,在sources文件中,指定了編譯類型有PLATFORM,OAK;編譯的時候引用的庫 sourcelib,targetlib不一樣,移植的時候一定得注意。目標文件類型有Library,Dynlink,program;include 字段包含的則是編譯時候所需要的頭文件目錄。有個比較特殊的sources是位于Platform(例如smdk2410)下的sources.cmn,它包含了該平臺的通用庫,頭文件路徑,這個文件在移植過程中需要修改的,否則,編譯出錯。

        ⑶ 修改platform.bib,platform.reg等文件,因為這兩個文件決定了鏡像中包含哪些模塊(dll)以及注冊表相關信息,驅動移植的過程中,每個模塊的改動都需要修改這兩個配置文件。

        ⑷ 驅動源文件中的頭文件的修改以及函數,變量修改等,這些依據編譯時候出現的錯誤來確定。

        除此之外,各部分的移植還需特別注意的地方有:

        Bootloader部分:因為bootloader下載,燒寫,啟動鏡像過程會涉及到內存地址的問題,各種入口地址不能出錯誤,以及內存超出范圍,沖突都需要特別小心。尤其是g_oalAddressTable這個表,這個表定義了物理地址虛擬地址之間的轉換以及內存的大小,如果設置不正確,將出現校驗錯誤,下載失敗或者鏡像無法啟動等錯誤。

        OAL部分:startup.s以及OEMInitDebugSerial兩函數需要特別注意,這兩個主要是初始化硬件及串口,這是系統運行及驅動調試的基礎,如果硬件配置以及調試串口有改變,則需要適當的修改。此次BSP移植,因硬件平臺沒有變化,因此OAL部分很多代碼無須修改即可使用。

        驅動部分: 4.2與 的結構,庫有了很大的改變,因此需要修改引用庫路徑,以及頭文件的引用路徑,大部分驅動都將會遇到這樣的問題。

        4 結束語

        本文創新點:通過對BSP結構分析,將具體平臺的 4.2 BSP移植到Windows CE 版本,包括移植bootloader,OAL,驅動程序,使之能夠通過編譯并生成鏡像,已經能在平臺上成功運行。通過這次移植,使筆者體會到BSP 移植是一個挺復雜,煩瑣的過程,因Windows CE 跟Windows CE 4.2 BSP包的組織結構不同,導致很多鏈接庫無法找到或者是這些庫已經被替換,刪除,只有耐心的根據這些錯誤提示來定位,有時候也需要去makefile里去找答案。不過移植BSP比重新開發BSP更加節省開發時間,從而縮短產品的研發。

        參考文獻:
        [1] 潘永才,魯啟華,田茂.s3c2410的GPS通信實現[J].現代電子技術,2006,15,157-159
        [2] 林濤.嵌入式操作系統Windows CE的研究[J].微計算機信息,2006,6-2,91-93
        [3] 呂秀平,李小民.Windows CE.NET的定制和裁剪[J].科學技術與工程.6卷第21期,2006年11月,p3483-3486
        [4] 曹榮,劉峰.一種DSP嵌入式多媒體應用系統板級支持包的研究[J] .第26卷第3期,2006年3月,p746-748
        [5] 何宗健.Windows CE嵌入式系統[M].北京:北京航空航天大學出版社,2006.


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 牟定县| 陵川县| 温宿县| 侯马市| 广汉市| 双辽市| 三台县| 盐边县| 石渠县| 保康县| 临邑县| 锡林郭勒盟| 南康市| 新安县| 闻喜县| 延长县| 嘉祥县| 平顺县| 沙洋县| 通化县| 赤壁市| 黑山县| 都昌县| 府谷县| 平乡县| 商河县| 包头市| 张家界市| 吉隆县| 兴和县| 呼玛县| 稻城县| 南木林县| 禄劝| 绥中县| 诸城市| 静乐县| 香河县| 澄城县| 县级市| 乐安县|