WinCE 5.0入門必學(xué)
出處:互聯(lián)網(wǎng) 發(fā)布于:2011-09-04 14:14:48
經(jīng)過前兩次的邊做邊學(xué),我們已經(jīng)創(chuàng)建并可以自由修改自己的平臺了,這次我平來補(bǔ)充一點(diǎn)理論知識,以便加深對CE生成過程的了解。在此之前,需要說明的是CE的目錄結(jié)構(gòu)是很龐大而復(fù)雜的,在以后的工作中很多事情會取決于你對目錄結(jié)構(gòu)的了解程度,在此,CE5的文件夾結(jié)構(gòu)未發(fā)生大的改變,因此想了解此部分內(nèi)容的朋友可直接參閱本人的《WinCE實(shí)驗(yàn)教程》相關(guān)部分。與CE4稍有不同的是在CE5中你自己的平臺不在存放于Public文件夾中了,而是專門有一個(gè)PBWorkspaces的文件夾,這樣更加方便管理且結(jié)構(gòu)清晰了。
相關(guān)術(shù)語
0)PC機(jī)(Personal Computer)就是指你的電腦,OS(Operating System)是指操作系統(tǒng)!
1)BSP(Board Support Package,板級支持包),介于硬件平臺和操作系統(tǒng)之間的一層,屬于操作系統(tǒng);不同的操作系統(tǒng)對應(yīng)于不同定義形式的BSP。
2)Bootloader與BIOS:Bootloader是引導(dǎo)程序,就是對實(shí)驗(yàn)平臺進(jìn)行初始化,設(shè)定一些相關(guān)參數(shù)等等。就我現(xiàn)在使用的WinCE5.0來說,根據(jù)個(gè)人理解,Bootloader與BIOS是一個(gè)東西,就是在ADS1.2下的一個(gè)工程而已,里面含有start.s及其它的一些相關(guān)代碼。這個(gè)現(xiàn)在我還有些模糊,僅談到此。
3)OEM:Original Equipment Manufacturer原始設(shè)備制造商
4)OAL:OEM Abstraction Layer
5)DLL:Dynamic Link Library,動(dòng)態(tài)鏈接庫
6)MFC:Microsoft Foudation Class,微軟基礎(chǔ)類
7)API:Win32 Application Programming Interface,Win32應(yīng)用程序編程接口
8)SDK:Software Development Kit,使用WinCE時(shí)必須安裝SDK,你不必在網(wǎng)上找SDK的安裝包,對于每個(gè)具體實(shí)驗(yàn)板都對于一個(gè)SDK,這個(gè)可以用PB生成。
9)PB、VS、EVC:PB是Platform Builder的簡稱,VS是Visual Studio的簡稱,EVC是Embedded Visual C++的簡稱。
10)Nand flash與Nor flash:與非flash和或非flash,前者價(jià)格便宜,后者較貴。
所需開發(fā)軟件
1)Platform Builder 5.0:此軟件用來定制操作系統(tǒng),生成內(nèi)核,生成SDK,編譯驅(qū)動(dòng)程序等。
2)Visual Studio 2008:我用的是此版本,當(dāng)然也許不許這么高版本,網(wǎng)上用的多的是VS2005,還有使用EVC++的。此軟件用來編寫應(yīng)用程序。
3)ActiveSync 4.5:此軟用來同步PC機(jī)與實(shí)驗(yàn)板進(jìn)行同步。此軟件可以在微軟中國網(wǎng)站。
4)DNW:串口調(diào)試工具,在上電時(shí)用來顯示BIOS發(fā)往串口的相關(guān)信息,也可以輸入相關(guān)參數(shù)進(jìn)行設(shè)置的。
5)USB同步驅(qū)動(dòng):必備!!!
VS2008的安裝按提示按裝即可,PB5.0的安裝可以參考天嵌科技的手冊進(jìn)行安裝,講的很好很詳細(xì),至于PB5.0補(bǔ)丁的安裝只需安裝Net2.0與Net3.5的那一個(gè)即可,其實(shí)安裝與否我原由我也不清楚,好好參考天嵌科技術(shù)的手冊吧。另外要參考天嵌科技術(shù)的手冊添加BSP,生成相應(yīng)的SDK,然后安裝SDK,這些都安裝好后還有一個(gè)工作就是安裝USB驅(qū)動(dòng),這一關(guān)一定要過,安不上的話就等著安上再說!
我們已經(jīng)掌握了生成CE的過程及編譯的幾個(gè)階段,這次我們再來了解一下Platform Builder中為我們提供的組件包的管理方式以及如何管理自己的組件。
在Platform Builder(以下簡稱PB)中的右側(cè)有一個(gè)"Catalog"窗口,其中列出了所有可供使用的組件,我們可以看到其內(nèi)容是非常之多的,現(xiàn)在的疑問就產(chǎn)生了,PB是如何管理這些組的呢?如果我有一個(gè)新設(shè)備的驅(qū)動(dòng)組件要如何才能放到這個(gè)組件包窗口中呢?如果我開發(fā)了一個(gè)設(shè)備驅(qū)動(dòng)以供其他人使用那我要如何才能發(fā)布我的驅(qū)動(dòng)呢?下面,我們就來解決這些問題。
在PB中,這些組件的管理都是能過一種組件文件(。cec文件)來實(shí)現(xiàn)的。在CE4中,系統(tǒng)自帶的CEC文件都位于PB的安裝文件夾下的CEC文件夾,我們可以在那里很容易的找到它們,但是在CE5中,它的位置變了,你可以在WINCE500\PUBLIC\COMMON\OAK\CATALOG\CEC下找到他們。
如果你開發(fā)了OAL,設(shè)備驅(qū)動(dòng)或其他組件,你就可以能過CEC文件來把它們加入到PB中。通過在PB環(huán)境中導(dǎo)入CEC文件,其他的平臺開發(fā)人員就可以使用這些組件了。CEC文件是用來描述組件信息的文本文件,它包括了一些塊的列表,主要包括以下四種信息塊:
--CECInfo塊,用來描述此CEC文件的信息,每個(gè)CEC文件只能含有一個(gè)此信息塊,從中你可以看到該CEC的名稱、GUID、版本、供應(yīng)商和簡要描述。
--ComponentType塊,它描述了別的組件類型,在一個(gè)CEC文件中可以有多個(gè)此信息塊,它通過Group,RequiredCEModules,ExcludeWhenSet,MaxResolvedImplsAllowed等條目來描述此組件所在的組,需要的CE組件,排除的組件及允許在一個(gè)CE平臺中存在的數(shù)量等信息。
--Implementation塊,用來描述此組件在編譯時(shí)需要的各種信息,每個(gè)CEC文件中也可以有多個(gè)此信息塊,它是 ComponentType塊的一部分,其中的BSPPlatformDir,Children,OptionalChildren,DefaultDrivers,ExcludeWhenSet,FeatureVariable,ImplSize等條目的具體含義可以在PB的幫助文檔中找到,在此不一一細(xì)述。
Action的意義如下:
Action則描述了組件編譯的行為,有效的行為與編譯階段的對應(yīng)關(guān)系如下所示:
--#BUILD():使用DIRS文件或SOURCES文件或MAKE文件來調(diào)用build.exe,在完全編譯平臺的時(shí)候被使用;
--#CUSTOM():在編譯的時(shí)候運(yùn)行批處理文件或可執(zhí)行文件;
--#COPY():從一個(gè)位置復(fù)制文件到另一個(gè)位置;
--#ENV():設(shè)置環(huán)境變量;
--#SRCCODE():指定了包含源程序文件的文件夾,只在編譯所選組件時(shí)應(yīng)用。
對于以上每個(gè)條目的具體用法可以參閱PB的幫助文檔。為了獲得感性認(rèn)識,我們用記事本打開幾個(gè)CEC文件來看一下。比如打開serial.cec看看串口驅(qū)動(dòng)組件的實(shí)現(xiàn)方法等。
以上我們了解了CEC文件,我們再來解決后面的問題,即假設(shè)我從別的供應(yīng)商處拿到了一個(gè)設(shè)備的驅(qū)動(dòng)程序,它帶了CEC文件,那么我要如何把這個(gè)組件加入到PB的組件包中呢?這個(gè)問題其實(shí)很簡單,只要在PB的File菜單下使用"Manage Catalog Items"命令即可。在這個(gè)彈出的對話框中的內(nèi)容和使用方法就不用我說了吧。
再來解決下一個(gè)問題,我要如何為我開發(fā)的組件編寫CEC文件呢?這個(gè)也好辦,在Tools菜單下使用"CEC Editor"命令即可,如果不會寫,可以先打開一個(gè)現(xiàn)有的CEC文件看看是如何組織的,然后再仿照它來寫自己的就可以了,別忘了寫完后要保存哦,同時(shí)也要注意GUID的問題。
此次內(nèi)容的,我們再來看一下BSP。什么是BSP呢,其實(shí)就是為某一種開發(fā)板實(shí)現(xiàn)了設(shè)備驅(qū)動(dòng)的軟件包,它包含了源程序文件,二進(jìn)制文件等,還有OAL適配層,Bootloader和其他有關(guān)的配置文件。比如CE5的評估版就帶了x86的BSP,AMD的BSP和Emulator的BSP。
通常對BSP的操作都在BSP向?qū)е羞M(jìn)行,它位于Platform菜單中,利用它可以新建自己的BSP,復(fù)制現(xiàn)存的BSP,修改現(xiàn)存的BSP或創(chuàng)建全局的驅(qū)動(dòng)程序。如果你準(zhǔn)備好了BSP所需要的那些東西就可以用它來生成你的BSP了,它會選擇必須的CE內(nèi)核組件。
好了,已經(jīng)寫了不少了,唉,寫這東西真是費(fèi)時(shí)啊,不說了,希望我們能一起獲得更多的知識。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實(shí)踐指南2026/1/6 10:40:19
- 嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計(jì)實(shí)踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04
- 高速PCB阻抗控制核心實(shí)操規(guī)范
- 高速數(shù)字系統(tǒng)(如DDR、SerDes)中的信號完整性濾波
- MOSFET在UPS電源中的應(yīng)用解析
- 電源管理IC在物聯(lián)網(wǎng)設(shè)備中的應(yīng)用
- SMT連接器焊接缺陷分析
- MOSFET在汽車電子中的應(yīng)用要求
- 通信設(shè)備電源管理IC應(yīng)用解析
- 通信設(shè)備連接器選型與設(shè)計(jì)
- PCB電磁兼容性(EMC)設(shè)計(jì)核心實(shí)操規(guī)范
- 物聯(lián)網(wǎng)節(jié)點(diǎn)低功耗設(shè)計(jì):信號鏈中的濾波與功耗管理









