Platform Builder配置文件

發(fā)布時(shí)間:2011-2-16 14:15    發(fā)布者:lytdzyxgs
關(guān)鍵詞: Platform
這篇文章主要講解PB的配置文件。從用途方面分析,PB包含兩種配置文件。分別是源碼配置文件和鏡像配置文件。下面分別講解這兩種配置文件。
一、源碼配置文件
源碼配置文件用于編譯源碼時(shí)使用。這里的源碼是指Windows CE公開(kāi)的源碼,如驅動(dòng)程序、系統應用程序等。PB在編譯平臺時(shí)將這些公開(kāi)的源碼即時(shí)編譯并將編譯鏈接后的文件復制到平臺工程子目錄里。記得前面講過(guò)PB在開(kāi)始編譯時(shí)調用cebuild.bat批處理文件,cebuild.bat執行的一個(gè)步驟是針對_DEPTREES變量指定的所有目錄執行build.exe和sysgen.bat。build.exe在編譯源碼文件時(shí)會(huì )尋找當前目錄下存放的源碼配置文件,根據配置文件的信息來(lái)編譯和鏈接,產(chǎn)生EXE、DLL、LIB文件。CE的源碼文件所在的目錄中都包含了相應的配置文件,這些配置文件只對當前目錄或者子目錄的源碼有效,具體分為三種:
DIRS文件:文件內容和解釋如下:
DIRS:指定哪個(gè)子目錄的源碼要被編譯
DIRS_CE:只有為CE編寫(xiě)的源碼才被編譯
OPTIONAL_DIRS:指定可選的目錄(很少使用這個(gè)選項),可以只編譯指定目錄而不是全部編譯。
SOURCES文件:通過(guò)宏定義來(lái)指定編譯和鏈接涉及到的文件,文件內容和解釋如下:
TARGETNAME:指定編譯鏈接產(chǎn)生的主文件名
TARGETTYPE:指定編譯鏈接產(chǎn)生的文件的類(lèi)型(決定了擴展名)。文件共分三種:.lib(LIBRARY)和.dll(DYNLINK)和.exe(PROGRAM)。
TARGETLIBS:定義.lib鏈接文件,鏈接時(shí)需要這個(gè)文件。
SOURCES:源碼文件。包含擴展名為*.c或*.h 或*.cpp的文件。
EXEENTRY:.exe文件的執行代碼入口點(diǎn)。
sources.cmn文件是通用的SOURCES文件。在這個(gè)文件中可以指定作用于所有源碼文件的配置選項。
MAKEFILE文件:包含默認的編譯和鏈接選項
整個(gè)編譯和鏈接過(guò)程:build.exe收集編譯和鏈接需要的數據(源碼文件、鏈接文件、編譯和鏈接選項)產(chǎn)生一系列的內部環(huán)境變量,然后調用nmake.exe,nmake.exe根據內部環(huán)境變量執行編譯、鏈接,最后產(chǎn)生最終文件(*.lib *.exe *.dll)。
二、鏡像配置文件:
鏡像配置文件用于在制作CE鏡像文件時(shí)使用。CE的鏡像文件擴展名為.bin。制作鏡像工具romimage.exe除了能夠產(chǎn)生.bin文件外,還能夠產(chǎn)生.abx和.sre文件。整個(gè)鏡像的制作過(guò)程由makeimg.exe控制,它調用cenlscmp.exe、fmerge.exe、res2.exe、txt2ucde.exe、regcomp.exe、romimage.exe等。這些工具大部分在前面已經(jīng)介紹過(guò)了。鏡像配置文件類(lèi)型有.bib、.reg、.db、.dat、.str。如果主文件名為Common,表示是通用的配置文件。如果主文件名為Platform,表示是某一個(gè)BSP的配置文件。如果主文件名是Project,表示是定制的一個(gè)平臺的配置文件。在PB中修改配置文件前如果沒(méi)有把握最好先做好備份。
.bib(Binary image builder)
定義包含在內核鏡像中的文件和模塊的名稱(chēng)、加載位置。主要的bib文件有Common.bib,Config.bib, Project.bib, Platform.bib等。.bib文件內部分為幾個(gè)部分:
【MEMORY】用于定義有效的物理內存塊,在此將整個(gè)RAM分為幾個(gè)部分。
格式: 名稱(chēng) 首地址 大小 內存類(lèi)型
名稱(chēng): 內存區域的唯一名稱(chēng)(RESERVE是預定義名稱(chēng),可以用多次,表示此區域保留)
首地址: 內存區域的首地址(十六進(jìn)制表示)
大。 內存區域的大小(十六進(jìn)制表示)
內存類(lèi)型:分為三種。
RAM: 運行所有進(jìn)程的內存區域(整個(gè)區域必須是連續的,且不能含空洞)
RAMIMAGE:專(zhuān)用于保存鏡像的內存區域。(每個(gè).bin中只能指定一個(gè)RAMIMAGE)
RESERVED:保留內存區域(這樣的區域一般用于驅動(dòng)程序使用,如顯卡緩沖區、DMA緩沖區)
舉例:
;名稱(chēng) 首地址 大小 內存類(lèi)型
IF IMGRAM64
NK 80220000 009E0000 RAMIMAGE
RAM 80C00000 03000000 RAM
UMABUF 83C00000 00400000 RESERVED
ENDIF
注:整個(gè)內核的地址都是從0x8000 0000開(kāi)始的。如果是x86系列的CPU,那么物理內存地址與虛擬地址映射關(guān)系在oeminit.asm中指定。
【CONFIG】類(lèi)似環(huán)境變量,PB預設置了一些配置變量。常用的配置及說(shuō)明如下:
AUTOSIZE:
格式:AUTOSIZE = OFF | ON
默認值為OFF。在config.bib中的MEMORY部分定義了有效的內存區域,其中兩部分RAM、RAMIMAGE分別用于進(jìn)程使用區域和保存鏡像區域。如果為ON,romimage.exe在創(chuàng )建nk.bin時(shí)將RAM和RAMIMAGE兩部分合并成一個(gè)部分,然后從最低地址開(kāi)始保留RAMIMAGE大小的內存,其余都作為RAM使用。
BOOTJUMP:
..........

更多詳情參考:http://www.hzlitai.com.cn/article/ARM9-article/system/1629.html
本文地址:http://selenalain.com/thread-54067-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
huangly001 發(fā)表于 2011-3-1 11:51:44
有用的資料,支持一下!
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页