WinCE系統下BootLoader的開發

2021-06-14 01:05:03 字數 1338 閱讀 8293

**: 引言

windows ce.net是微軟公司向嵌入式領域推出的一款作業系統。它最大程度繼承了桌面版windows作業系統的豐富功能,同時又副入了許多新特性,以適應嵌入式領域的實際情況和要求。無論是商業應用需求,還是人們的多**消費需求,都能被採用ce作業系統的裝置很輕鬆的滿足。最新的.net版本較之3.0版本,在實時性和穩定性上有大幅度提高,開始廣泛地被平板電腦、數位相機、彩屏手機、pda等多種高效能產品所採用。

但是,ce並不是乙個通用的安裝版作業系統,在形形色色的嵌入式硬體裝置世界裡, 一款ce系統通常只會針對某一種硬體平台生成。所以,作為原始裝置生產商,必須根據自己的硬體平台和應用場合定製ce,最主要的工作就是編寫適合於自己的板級支援包(bsp)。在bsp中,包含了乙個重要的組成部分——bootloader。建立一未功能完善的bootloader,是開發wince系統的第一步,也是極為關鍵的一步。本文將結合開發例項,介紹如何開發適合於自己硬體的bootloader。

1 定製ce作業系統的基本知識

前面已經提到,由於硬體的不同,bootloader的功能可能有多有少,此處筆者以自己開發bootloader的過程進行敘述。

圖2是筆者bootloader的工程流程。

3.1 啟動部分

首先要實現初台化硬體的功能。在參考板的bootloader目錄下,會發現一些.s檔案,可能會是init.s或者是reset.s等,這樣的檔案是cpu加電後最先執行的**。由於此處是用組合語言編寫的,所以與cpu關係緊密。一般參考板的cpu與開發平台的cpu會是相同或者是同乙個架構的。筆者使用的是屬於同一種cpu的情況,所以對暫存器的定義和初始化流程都可以不加改動。接著就是對於平台配置的分析,包括平台儲存空間的分配、外圍裝置的工作設定等。一般這裡的區別是非常大的。所以必須要對cpu暫存器的值作相應設定。這部分工作可能需要cpu提供商方面的幫助。

應該說,這部分工作是bootloader的一大重點,但由於和實際的硬體非常大,所以不可能做進一步的詳細敘述。

3.2 主控部分

bootloader程式可以通過pb的整合編譯環境編譯鏈結,控制檔案為.bib檔案,下面是乙個簡單的bootloader的.bib檔案。

memory

cli 9fc00000 00050000 ramimage

ram 80080000 00070000 ram

config

compression=on

sre=on

romstart=9fc00000

romsize=00020000

romwidth=32

romoffet=000000

modules

nk.exe $(_flatreleasedir).exe cli

WinCE系統下BootLoader的開發

wince系統下bootloader的開發 未知 引言windows ce.net是微軟公司向嵌入式領域推出的一款作業系統。它最大程度繼承了桌面版windows作業系統的豐富功能,同時又副入了許多新特性,以適應嵌入式領域的實際情況和要求。無論是商業應用需求,還是人們的多 消費需求,都能被採用ce作業...

WinCE系統下BootLoader的開發

引言 windows ce.net是微軟公司向嵌入式領域推出的一款作業系統。它最大程度繼承了桌面版windows作業系統的豐富功能,同時又副入了許多新特性,以適應嵌入式領域的實際情況和要求。無論是商業應用需求,還是人們的多 消費需求,都能被採用ce作業系統的裝置很輕鬆的滿足。最新的.net版本較之3...

WinCE系統USB Mass Storage實現

在談wince的usb mass storage實現之前,首先要具備以下條件 1.開發板支援usbclient裝置。2.開發板上至少有一種儲存裝置可以被用來對映為u盤。現在的處理器一般都帶有usb client或者是usb otg控制器,並且bsp中都有相應的驅動。對於儲存裝置來說,nandflas...