定製WinCE6.0作業系統的幾個關鍵步驟

來源:互聯網
上載者:User

為一個新的硬體裝置定製WinCE6.0作業系統,一般需要完成以下幾個主要步驟: 1. 針對特定的硬體裝置建立板級支援包(Board Support Package縮寫為BSP),BSP必須包括BOOTLOADER、OEM適配層(OEM Adaptation Layer縮寫為OAL)和一些必要的驅動。 2. 利用建立的BSP,定製一個系統設計(OS Design)。即通過VS2005建立一個Platform Builder的工程。該工程可編譯產生最終的運行時映像檔案(Rum-time Image)。 3. 針對板上的外圍裝置建立相關驅動,並添加到BSP中。 4. 通過建立子工程和Catalog Items的方式,修改OS Design。 5. 編譯OS Design,下載編譯得到的運行時映像檔案到目標裝置。此時,可通過遠端偵錯工具進行調試。 6. 在完成所有的調試工作之後,匯出該運行時映像對應的SDK(Software Development Kit),應用程式的開發人員可基於此SDK編寫該裝置的應用程式。 可以看出,在整個WinCE作業系統的移植過程中,BSP的移植是最基礎也是最關鍵的一步。而建立BSP的過程主要包括以下幾個內容: 1. 建立BOOTLOADER。BOOTLOADER在開發的過程中用於下載作業系統映像檔案。 2. 建立OAL。OAL最終被連結到核心映像檔案,它主要完成硬體的初始化和管理。 3. 建立裝置驅動。裝置驅動是板上外圍裝置的軟體支援。 4. 修改運行時映像的設定檔。設定檔主要包括BIB、REG等檔案。 BOOTLOADER的主要作用是將作業系統運行時映像載入到記憶體,並跳轉到OS的啟動程式處。它的這一作用跟前一篇介紹的NBOOT的作用完全一致。BOOTLOADER擷取運行時映像(一般對應的檔案名稱為NK)一般有兩種方法。它可以通過有線串連的方式象網路(Ethernet)、USB或串口從外部下載NK。它也可以從本地的儲存空間(Flash、Hard Disk)中載入NK。通常,BOOTLOADER通過Ethernet下載作業系統映像故將其稱為EBOOT。在開發的過程中使用EBOOT,可以提高開發效率。通過使用EBOOT,你可以很快速的下載NK到目標裝置中。而利用Flash編程工具或者是通過JTAG下載則很慢。在一些產品最終發布時,EBOOT是可以去掉的,但也有一些則必須包括BOOTLOADER,像X86的平台就是如此。 至此,我們已經瞭解了EBOOT的主要功能,為了實現這些功能,EBOOT必須完成以下工作: 1. 初始化MCU。包括初始化MCU的相關寄存器、中斷、看門狗、系統時鐘、記憶體和MMU。前面幾項跟NBOOT基本一致,但這裡增加了對MMU的初始化。 2. 在完成所有的初始化工作之後,調用BootloaderMain()。這個函數的定義在WinCE6.0中對應的檔案是C:"WINCE600"PLATFORM"COMMON"SRC"COMMON"BOOT"BLCOMMON"blcommon.c 3. BootloaderMain()主要依次調用以下幾個函數,OEMDebugInit()、OEMPlatformInit()、OEMPreDownload()、OEMLaunch(),而這些函數必須由EBOOT的代碼來實現。 4. 最終跳轉到OAL.exe的StartUp處,進而啟動WinCE作業系統。

定製之前要把屬性設定好,主要參照指導書,另外一定要把語言欄清空,然後選上自己要用的。

  還有就是幾次出現莫名奇妙的錯誤,重啟之後就沒事了,看來以後沒次編譯一次作業系統一定要記得重啟一下才行。不知道是我的電腦中毒了,還是vs做的不穩定。

  定製好的系統做了一個備份,把整個工程檔案夾存在f盤一個目錄裡,結果發現直接開啟備份工程,無法下載系統鏡像檔案到檯子,把備份檔案再拷回原來建立工程的c盤下的檔案夾下,再開啟就可以了。建立工程結束時,vs應該是把下載鏡像的路徑已經定好了, 所以要把備份的工程拷回到原來的路徑才能用。

  一直不清楚定製時catalog中綠色方框和打條的區別,Mike Hall做的一個視屏教程裡倒是有相關內容,不過英語水平有限,和好幾個同學一起聽也沒弄明白。昨天找到一個英語牛人給翻譯了一下,原來你自己打條選了某個component後,vs會自動把depends on的項目(就是那些變成綠框的)加上去。這下再定製就省心了,呵呵。

  定製了一個作業系統,發現有些組件沒有添加,重新加進去,再build確出錯了。後來看了書才知道,如果對所選組件進行了改動(添加或刪除),需要先進行clean sysgen,然後再build或sysgen。其實有的時候,clean sysgen也會出錯的,而且時間也不短,所以要是定製中操作較少的話,不如重新建立一個工程,重新定製要來的快了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.