新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 使用Platform Builder配置Windows CE操作系統

        使用Platform Builder配置Windows CE操作系統

        作者: 時間:2016-09-12 來源:網絡 收藏

        2.1 二進制映像生成文件.BIB

        本文引用地址:http://www.104case.com/article/201609/303925.htm

        .BIB文件是文本文件,標識包含在Windows CE映像中的目標模塊、組件和文件。一個.BIB文件包含4個部分:FILES、MODULES、MEMORY和CONFIG。

        (1)FILES部分

        FILES分配一部分內存空間給靜態數據文件。這部分主要包括字體文件(.TTF)、文本文件(.TXT)、位圖文件(.BMP)和聲音文件(.WAV)等。例如:

        ;Name Path Memory Type

        ;------ --------------------------------------- ----------- -----

        Tahoma.ttf $(_FLATRELEASEDIR).ttf NK SHU

        Name:在Windows CE系統中的文件名。

        Path:文件在開發工作站中的位置。

        Memory:文件所屬的內存區。

        Type:定義文件屬性。Windows CE中的文件有以下文件屬性:S為系統文件、H為隱含文件、U為非壓縮文件、R為壓縮資源文件、C為壓縮文件。1個文件可以同時具有幾種屬性。

        上例說明NK內存區包含開發工作站的$(_FLATRELEASEDIR).ttf文件。在Windows CE系統中,tahoma.ttf的文件屬性是系統隱含的非壓縮文件。

        (2)MODULES部分

        列出加載在內存中的目標模塊和組件,包括所有的可執行文件.EXE和動態鏈接庫.DLL。例如:

        ;Name Path Memory Type

        ;------- --------------------------------------- --------- ------

        device.exe $(_FLATRELEASEDIR).exe NK SH

        device模塊加載到內存區。Windows CE系統中device.exe具有系統和隱含屬性。

        (3)MEMEORY部分

        把物理內存分成2個部分:數據存儲區和程序存儲區。例如

        ;Name Start address size(bytes) Type

        ;------- -------------- ------------ --------------

        NK 80200000 00600000 RAMIMAGE

        RAM 80800000 00800000 RAM

        在Windows CE系統中,內存分成3種類型:RAM、RAMIMG和RESERVED。RAM規定內存大小;RAMIMG規定ROM空間;RESERVED為保留的內存空間,內核不能使用這部分內存,但是應用程序可以訪問。上例說明NK的起始地址是80200000,它占有6MB內存空間,作為ROM用于數據存儲區。RAM在80800000開始,占有8MB的內存空間,用于程序存儲區。

        (4)CONFIG部分

        這部分不是必不可必的。在這部分進行一些屬性設置,如是否壓縮和ROM大小等。

        2.2 注冊表文件.REG

        注冊表文件建立操作系統映像的注冊表入口。注冊表是一個數據,存儲了大量的配置信息,包括應用程序信息、設備驅動程序的配置、系統配置信息、用戶參數和其它相關數據。當目標平臺冷啟動時,Makeimg.exe使用.REG文件創建默認注冊表。Platform.REG配置與平臺有關的注冊表信息,如設備驅動程序入口。Project.REG設置與工程有關的注冊表格。注冊表文件的格式:

        [HKEY_LOCAL_MACHINE]

        “Launch10” = shell.exe

        Launch20 = device.exe

        Launch30 = gwes.exe

        Depend30 = hex:14,00

        上述注冊表入口設置規定內核在啟動時必須自動運行shell.EXE和device.exe模塊,gwes.EXE模塊必須在device.EXE正常啟動以后才能運行。

        2.3 數據庫文件.DB

        Windows CE提供內置的輕量級數據庫管理系統。Windows CE的屬性數據庫由1張包含記錄的表組成,每個記錄包含許多不同的屬性,每個屬性有3種信息:標志屬性的ID號、類型和值。例如:

        .Record:

        Field:402001f:“{000214A0-0000-0000-C000-000000000046}”

        Field:42020003:15

        Field:42030003:2

        End

        屬性數據庫是一種平面結構,不能定義屬性數據庫之間的關系。使用Microsoft ActiveX Data Object for Windows CE(ADOCE)技術可以容量地訪問屬性數據庫,甚至可以使用SQL語句查詢信息。

        2.4 目錄分配表文件.DAT

        .DAT文件定義Windows CE映像NK.NIB黑認的目錄和文件結構。注意,Winodws CE不支持像Windows 9x/2000一樣的盤符驅動器,而且沒有當前目錄的概念。例如:

        root:-Directory(Program Files)

        Directory(Program Files):Directory(MY Work)

        root:-Directory(My Documents)

        Directory(My Documents):-File(MyFile.doc)

        生成2個根目錄:Program Files和MyDocuments。Program Files有1個子目錄:My Work。文件MyFile.DOC位于My Document目錄中。注意MyFile.DOC必須出現在一個.BIB文件中,這樣,映像文件中會有MyFile.DOC。

        3 設置環境變量、生成映像文件NK.BIN

        3.1 設置環境變量

        在所有配置文件中,都存在條件語句IF Enviroment Value……END IF。當條件成立時,IF和END IF之間的信息包含在映像文件NK.BIN中;條件不成立時,則不包含相關模塊和文件。通過設置環境變量可以添加或者刪除NK.BIN中的模塊和組件。以.BIB文件為例:

        ;Name Path Memory Type

        ;-------- ------------------------------------ ---------- ------

        IFIMGUSB

        IF CEPC_UHCI

        uhci.dll $(_FLATRELEASEDIR).dll NK SH

        ENDIF

        IF CEPC_OHCI

        ohci.dll $(_FLATRELEASEDIR).dll NK SH

        ENDIF

        usbd.dll $(_FLATRELEASEDIR).dll NK SH

        usbhid.dll $(_FLATRELEASEDIR).dll NK SH

        ENDIF

        這里IMGUSB、CEPC_UHCI、CEPC_OHCI都是邏輯型環境變量。在PB中,可以使用2種方法設置環境變量。方法1:點擊Platform菜單的Setting…,打開平臺設置對話框,分別輸入Variable和Value設置環境變量。方法2:點擊Build菜單的Open Build Release Directory,打開命令提示窗口,在命令提示窗口中設置環境變量。在命令行中輸入SETIMGUSB=1,動態鏈接庫usbd.dll和usbhid.dll被包含到映像文件NK.BIN。uhci.dll和ohci.dll是否包含在NK.BIN中,取決于環境變量CEPC_UHCI和CEPC_OHCI的設置。如果SET IMGUSB=0,KN.BIN中不包含上述4個動態鏈接庫。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 五华县| 社会| 项城市| 大同县| 东光县| 仲巴县| 岳西县| 钦州市| 柳林县| 安庆市| 宿迁市| 平阴县| 泉州市| 宜春市| 新龙县| 桃江县| 溧水县| 铅山县| 营口市| 民丰县| 西安市| 成武县| 新疆| 沂源县| 辛集市| 奉节县| 游戏| 石首市| 龙江县| 沈丘县| 双柏县| 吴江市| 夏邑县| 曲水县| 克什克腾旗| 双江| 富蕴县| 辛集市| 清河县| 游戏| 阿勒泰市|