久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久


曙海教育集團論壇Win CE 專區(qū)WinCE系統(tǒng)定制與驅動開發(fā) → WinCE5.0入門全過程


  共有8333人關注過本帖樹形打印

主題:WinCE5.0入門全過程

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
WinCE5.0入門全過程  發(fā)帖心情 Post By:2010-11-26 11:10:30

以下內容僅供參考,由于我也是初學者,很多概念理解不準,錯誤與模糊之處還請大家指出,以利于我們大家共同學習與提高!
以下內容不接受任何攻擊性評論,學習WinCE是我現(xiàn)階段本科畢業(yè)設計的內容,所以所有觀點僅從學術角度出發(fā),如果有說的不當之處,希望大家多多指點!
再說明一下,如果本帖中有什么其它問題,比如言之不當之處,希望大家另開一帖,在論壇里討論一下,標題注明一下jbb0523,我這些天會常來論壇看看的,這樣大家就共同提高了!

一、前言

1、首先談談本人基礎。我熟悉AVR單片機,使用過ATmega16單片機大部分功能,如4X4鍵盤、UART、SPI、I2C、Timer、PWM等等,接觸過DSP芯片TMS320C54X,懂得VHDL語言,簡單使用過LPC2131,并在其上移植過uC/OS-II,學習過有關操作系統(tǒng)的基本知識。
用過的相關軟件有:ICCAVR、ADS1.2、CCS、uVision等。

2、學習不要著急,如果你沒有操作系統(tǒng)的基礎,可能一時接受不了操作系統(tǒng)這個概念,而是拿著自已天天用的PC機的Windows操作系統(tǒng)的界面鉆牛角尖。不要總感覺這資料是垃圾,那本書是騙錢的,之所以你看不懂那是因為你還沒達到看懂的程度!當然現(xiàn)在騙錢的書很多,著書者很少從讀者的角度去寫書!

3、我所使用的開發(fā)環(huán)境:PC XP+GEC2440+WinCE5.0+VS2008+ActiveSync4.5+DNW
GEC2440是廣嵌科技術的開發(fā)板,不喜歡廣嵌,售后技術支持做的不好,而且技術論壇也沒人回帖,不建議使用本實驗板!其實板子做的還行,只是相關服務有待加強!!!

二、入門準備

1、什么是操作系統(tǒng)?
這個問題是困擾了我很久的問題。由于我們大家對于Windows XP等PC機操作系統(tǒng)過于熟悉,而此操作系統(tǒng)又過于傻瓜式,以致于使我們感覺不到操作系統(tǒng)的本質,僅感覺操作系統(tǒng)就是一個窗口,反正在我接觸嵌入式操作系統(tǒng)前是這樣認為的。那么什么是操作系統(tǒng)呢?從我使用uC/OS-II的體驗來說,簡單點兒說操作系統(tǒng)就是一個調度器,從我現(xiàn)在使用WinCE的體驗來說,操作系統(tǒng)就是管家婆。總的來說吧,操作系統(tǒng)就是用算法實現(xiàn)的管理系統(tǒng)所有資源一個后臺。可能這樣說還是有些抽象,別急,慢慢來!

2、操作系統(tǒng)安裝在哪兒呢?界面呢?
這個問題絕對是Windows操作系統(tǒng)使用后遺癥,總感覺操作要像我們PC機裝系統(tǒng)一樣進行安裝,要有像XP等OS一樣的操作界面。其實界面僅僅是人機交互的一種方式而已,不是操作系統(tǒng)必備的元素,而是操作系統(tǒng)的一種趨勢,因為現(xiàn)在對友好的人機交互界面要求越來越高,而且是傻瓜程度過高越好!
以uC/OS-II為例,它的核代碼就是幾個C源文件,使用它時將其像其它程序一樣加入你所建立的工程即可,當然在uC/OS-II與你所寫的普通代碼之間要有一個橋梁來進行鏈接,這個橋梁就是我們在移植操作系統(tǒng)時所要寫的文件,它根本沒有界面一說,為什么說它是操作系統(tǒng)呢?因為uC/OS-II有操作系統(tǒng)的一切特征!操作系統(tǒng)都有什么特征呢?自已網上查一吧!
那么移值uC/OS-II在CPU上有什么好處呢?個人認為,操作系統(tǒng)的核心好處在于多作務管理與調度。任務較少時,也許感覺不到它的好處,但任務多了,操作系統(tǒng)的好處就明顯了,比如說吧,你的實驗板上有八個LED,要求你實現(xiàn)這八個LED以八種不同頻率進行閃爍,你該怎么寫呢?如果有了uC/OS-II操作系統(tǒng),這就太簡單了,將每個LED閃爍按uC/OS-II要求形式寫成任務,然后將八個任務交由uC/OS-II調度即可!
說了一大堆uC/OS-II的相關內容,下面進入正題,談WinCE!

3、相關術語
0)PC機(Personal Computer)就是指你的電腦,OS(Operating System)是指操作系統(tǒng)!
1)BSP(Board Support Package,板級支持包),介于硬件平臺和操作系統(tǒng)之間的一層,屬于操作系統(tǒng);不同的操作系統(tǒng)對應于不同定義形式的BSP。
2)Bootloader與BIOS:Bootloader是引導程序,就是對實驗平臺進行初始化,設定一些相關參數(shù)等等。就我現(xiàn)在使用的WinCE5.0來說,根據(jù)個人理解,Bootloader與BIOS是一個東西,就是在ADS1.2下的一個工程而已,里面含有start.s及其它的一些相關代碼。這個現(xiàn)在我還有些模糊,僅談到此。
3)OEM:Original Equipment Manufacturer原始設備制造商
4)OAL:OEM Abstraction Layer
5)DLL:Dynamic Link Library,動態(tài)鏈接庫 
6)MFC:Microsoft Foudation Class,微軟基礎類 
7)API:Win32 Application Programming Interface,Win32應用程序編程接口
8)SDK:Software Development Kit,使用WinCE時必須安裝SDK,你不必在網上找SDK的安裝包,對于每個具體實驗板都對于一個SDK,這個可以用PB生成。
9)PB、VS、EVC:PB是Platform Builder的簡稱,VS是Visual Studio的簡稱,EVC是Embedded Visual C++的簡稱。
10)Nand flash與Nor flash:與非flash和或非flash,前者價格便宜,后者較貴。

4、所需開發(fā)軟件
1)Platform Builder 5.0:此軟件用來定制操作系統(tǒng),生成內核,生成SDK,編譯驅動程序等。
2)Visual Studio 2008:我用的是此版本,當然也許不許這么高版本,網上用的多的是VS2005,還有使用EVC++的。此軟件用來編寫應用程序。
3)ActiveSync 4.5:此軟用來同步PC機與實驗板進行同步。此軟件可以在微軟中國官方網站下載。
4)DNW:串口調試工具,在上電時用來顯示BIOS發(fā)往串口的相關信息,也可以輸入相關參數(shù)進行設置的。
5)USB同步驅動:必備!!!
VS2008的安裝按提示按裝即可,PB5.0的安裝可以參考天嵌科技的手冊進行安裝,講的很好很詳細,至于PB5.0補丁的安裝只需安裝Net2.0與Net3.5的那一個即可,其實安裝與否我原由我也不清楚,好好參考天嵌科技術的手冊吧。另外要參考天嵌科技術的手冊添加BSP,生成相應的SDK,然后安裝SDK,這些都安裝好后還有一個工作就是安裝USB驅動,這一關一定要過,安不上的話就等著安上再說!

5、相關參考書目:
何宗鍵 編著.Windows CE嵌入式系統(tǒng).北京:北京航空航天大學出版社
還有就是各個開發(fā)板廠商的使用手冊都是很好的資料,必備!
主要有天嵌科技TQ2440、朗成電子AT2440EVB、友善之臂mini2440和QQ2440、廣嵌科技GEC2440、飛凌等等,只有飛凌的資料是不公開的,其它的都可以在相關網站下載到。
有關Visual Studio的書可以參考一下機械工業(yè)出版社劉冰等編著的《C++程序設計教程——基于Visual Studio 2008》,這本書我也沒細看過,掃了一眼,講的還抽合吧。

三、打開WinCE的大門

0、我的學習方法
我學習的理念是首先把整套開發(fā)環(huán)境搭建起來,然后運行一個最簡單的程序入門再說,至于更深一層次的內容慢慢研究!
1、開發(fā)平臺的建立
個人認為,學習單片機也好,ARM也罷,首先要解決的事情就是將整套開發(fā)環(huán)境搭建好,成功跑一個最簡單的程序,就算入門了,下面我說說WinCE開發(fā)環(huán)境的建立。

1)安裝VS2008,根據(jù)提示安裝即可,沒什么注意事項,唯一的提示就是要留有足夠的硬盤空間,僅VS就得留2G空間吧,如果安裝MSDN幫助文檔的話,再留3G吧!
安裝好VS后初次打開會讓你選擇默認開發(fā)環(huán)境,有1、Visual Basic 開發(fā)設置;2、Visual C#開發(fā)設置;3、Visual C++開發(fā)設置;4、Web開發(fā)設置;5、常規(guī)開發(fā)設置。個人認為選哪一個都無所謂,差別僅在于新建項目時項目類型一欄的排列順序有所差別而已。這個設置可以按如下更改:工具---》導入和導出設置(I)…---》重置所有設置---》否,僅重置設置,從而覆蓋我的當前設置
2)安裝Microsoft_DotNetFXCHS1.1.exe,這是安裝WinCE的前提,如果你電腦上裝過VC++等軟件,應該就不用安裝了,因為Visual Studio系列軟件都需要這個的。
3)安裝Platform Builder5.0,安裝PB其實就是所謂的安裝WinCE,這個參考天嵌的手冊1.1節(jié)內容安裝即可,有一點天嵌手冊中沒提到的是:
圖片點擊可在新窗口打開查看
 (原文件名:PB安裝.jpg) 
引用圖片

安裝選擇處理器到這一步時如果ARMV4I是一個“×”,則應單擊向下的小黑三角,選擇第一個或第二個選項,其它的我也不是很懂,反正第一次入門多安裝了總比不能用好,以后精通了再選擇最優(yōu)方法吧。
4)安裝WinCEPB50-081231-Product-Update-Rollup-Armv4I.msi,這是PB5.0的一個補丁,網上相關文章千篇一率,寫了一大堆補丁,個人認為安裝這個就足夠了,其它的等你用到時再安吧,我用了這么些天也沒感覺到補丁有什么用。
5)安裝ActiveSync4.5,這個很簡單!安裝完后打開“我的電腦”就會有一個“移動設備”圖標,這個以后有用!
6)DNW不用安裝,是一個綠色版的軟件,累似于串口調試助手,但功能強一些吧!
7)安裝USB同步用驅動,用USB線將實驗板與PC機連接起來會提示安裝驅動,這個實驗板廠商應該會提供的,也可以從網上下載!USB驅動安裝不當會導致PC機藍屏,所以這一步必須過關,否則原地待命!
8)添加BSP:打開PB5.0,添加BSP包,BSP是由廠商提供的,別告訴我實驗板是你自已做的,一上手就寫B(tài)SP有點不現(xiàn)實吧。參考天嵌手冊2.1.1節(jié)內容,很輕松搞定!
9)安裝SDK:參考天嵌手冊2.4節(jié)內容很輕松搞定,然后安裝即可!
到現(xiàn)在為止環(huán)境基本搞定,其它相關細節(jié)參考開嵌手冊即可!

2、什么叫定制操作系統(tǒng)?為什么要安裝WinCE到PC機上?
由于受uC/OS-II操作系統(tǒng)的影響,總想著WinCE的源代碼在哪兒?那些API函數(shù)的原型在哪兒頭文件中?須知uC/OS-II的源代碼是開源的,而WinCE的代碼則相反!uC/OS-II的呈現(xiàn)在我們面前的是幾個C語言源文件,WinCE呢?就我現(xiàn)在的理解,將PB5.0裝到PC機上意味著將WinCE的全部功能放到了PC機上,然后我們需要做的是通過PB從WinCE所有功能中挑選出自已需要的功能,這些功能經自已通過PB組合后生成一個NK.bin和NK.nb0文件,關于這兩個的區(qū)別參考天嵌手冊的第92頁,具體我也不太懂。但我個人的理解是,生成的NK.nb0就好像是我們在學單片機時生成的hex文件,我們將.nb0燒到實驗板上也就是將我們裁剪(即所謂的定制!!!)好的WinCE“安裝”到實驗板上了,這個過程可以近似理解為將hex文件通過ISP或其它方式燒到單片機里一樣的。
綜上所述,我們安裝PB在PC機上是將WinCE所有功能“暫時放到”PC機上,然后通過PB“挑出”你所需要的功能后并將其組合(即.nb0文件)“放到”實驗板上即可!
打個比方說吧,WinCE各種功能就好像一塊塊積木(即安裝PB),然后我們用需要的積木搭出我們需要圖形(即我們用PB定制的操作系統(tǒng))。
WinCE代碼是不開源的,不要天天去想API函數(shù)在哪兒呢?真想看的話去找找比爾蓋茨看看能不能讓你看看!

3、Bootloader(BIOS)、WinCE核(即nb0文件)及我們用VS編寫的應用程序怎么燒到實驗板上?都燒在哪里了呢?
1)Bootloaer與BIOS的區(qū)別我還沒搞懂,就現(xiàn)在的理解還是將它們合二為一,這個有待解決。它們可以用sjf2440.exe進行燒寫;燒到哪兒了呢?這個由自已設定,我也沒有燒過,只有一個粗略的理解:S3C2440外擴了Nand flash和Nor flash,還有SDRAM,芯片內部也有(應該有吧?),這里我們不用管內部與外部,這個只要按要求進行外擴后用尋址到什么地址CPU會自動找相關存儲空間的。我們可以將所有的flash看成一個整體,它是用來固化程序的,把所有RAM看成一個整體,它是用來運行程序的。我們將flash分成不同的分區(qū),上電時CPU要從根據(jù)設定的起始地址的代碼開始執(zhí)行,個人認為Bootloader應該就燒在這里吧!這里的理解個人還有待加強,僅供參考!
2)WinCE核可以通過過USB等方式下載到實驗板上,比如用DNW就可以進行下載,之所以下載到哪兒了?下載到flash其中的一個分區(qū),具體由Bootloader引導程序和你自已設定的參數(shù)!CPU再聰明還得聽人的指揮!
3)VS編的應用程序燒在哪兒了?這個我還沒弄明白,我是通過ActiveSync將VS生成的.exe文件發(fā)送到實驗板上或直接復制到實驗板上的。怎么粘呢?安裝好ActiveSync后PC機的“我的電腦”會多一個移動設備圖標,如果你的USB同步驅動安裝好的,雙擊“移動設備”其實就是相當于在遠程控制著實驗板,將VS的應用程序復制過來然后在實驗板端相關目錄下找到應用程序運行即可!不過這樣運行應用程序是在RAM中運行,沒有進行固化,至于怎么固化,我再好好研究!
4)這里一直提到flash分區(qū)的問題,至于究竟是怎么分區(qū)的目前我也不是很懂,個人認為是通過bootloader進行相關設計的吧,在以前接觸LPC2131時似乎看到過相關內容。

四、走進WinCE

以下默認開發(fā)平臺所有軟件已安裝完畢:

1、燒寫B(tài)ootloader(沒燒過,只是這樣認為要首先燒寫B(tài)IOS)
2、燒寫WinCE核
由于本人拿到實驗板時以上兩步已做好,即我拿到的實驗板上就有燒好的WinCE5.0操作系統(tǒng),因此以上兩步是我猜測的!
3、打開VS,按照天嵌手冊4.2節(jié)內容進行操作,如果成功運行,則OK!本步驟成功后則說明平臺搭建成功,但HELLO程序不涉及實驗板上的任何具體硬件,個人認為這只能算是入門了一半,還有一個坎沒邁過去,那就是流驅動的開發(fā),因為開發(fā)第一個流驅動的工作量并不比搭建平臺省事,尤其是全靠自已琢磨,旁邊無人指導、無人探討!
4、運行成功HELLO程序后你可能會想,如果想點亮實驗板上的LED燈該怎么用啊?基于VS開發(fā)環(huán)境也沒法控制CPU的IO寄存器啊?這就需要流驅動了!
大部分實驗板的手冊都有詳細的HELLO程序過程,但很少有手冊詳細講解流驅動的開發(fā)過程,下面以我的經歷詳細的寫一寫:
流驅動的基本介紹可以看看天嵌手冊的第五章,腦子里起碼要先有個基本概念!
1)打開以下目錄:E:\WINCE500\PLATFORM\smdk2440\DRIVERS,并在該目錄下新建一個文件夾,命名為GPIOdriver,并用記事本打開該目錄下的dirs文件,按其格式添加\GPIOdriver,dirs沒有擴展名,打開看看就懂,沒什么特別的!
注:其中E盤是我的安裝目錄,smdk2440是GEC2440實驗板提供的BSP,按要求拷貝到了E:\WINCE500\PLATFORM\ 目錄。
2)打開剛剛新建的GPIOdriver文件夾,新建txt記事本文件,命名為makefile,打開加入以下內容:!INCLUDE $(_MAKEENVROOT)\makefile.def,然后將.txt擴展名去掉,使其變?yōu)闊o擴展名的文件。
3)仍然在GPIOdriver文件夾內,仍然新建txt文件,命名為GPIOdriver,加入以下內容后將其擴展名更改為.def文件:
LIBRARY GPIOdriver
EXPORTS
GIO_Close
GIO_Deinit
GIO_Init
GIO_IOControl
GIO_Open
GIO_PowerDown
GIO_PowerUp
GIO_Read
GIO_Seek
GIO_Write
4)仍然在GPIOdriver文件夾內,仍然新建txt文件,命名為sources,加入以下內容后將其擴展名刪除,使其成為無擴展名文件:
RELEASETYPE=PLATFORM
TARGETNAME=GPIODriver
TARGETTYPE=DYNLINK
DLLENTRY=DllEntry

支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

WinCE5.0入門全過程








簽名
主站蜘蛛池模板: 国产一区二区三区在线观看影院 | 97精品国产综合久久久久久欧美 | 亚洲国产精品一区二区久久 | 韩日黄色 | 亚洲欧美久久精品 | 亚洲高清国产一区二区三区 | 精品一久久香蕉国产线看播放 | 国产精品高清在线观看93 | 8888奇米四色在线 | 久久在线视频播放 | 最新亚洲精品国自产在线观看 | 免费毛片播放 | 亚洲九九 | 国产欧美在线观看视频 | a级片在线免费播放 | 久久草在线视频免费 | 亚洲综合精品一区二区三区中文 | 99久久综合精品免费 | 怡红院在线观看视频 | 毛片大片免费看 | 亚洲第一页在线 | 八戒午夜精品视频在线观看 | 成人a视频片在线观看免费 成人a视频在线观看 | 精品国产免费久久久久久 | 模特精品一区二区三区 | 国产成人亚洲精品老王 | 国产第一福利影院 | 婷婷的久久五月综合先锋影音 | 亚洲国产一区二区三区最新 | 一级黄色免费网站 | 国产看片一区二区三区 | 成人a毛片视频免费看 | 国内一级野外a一级毛片 | 久久国产成人精品 | 久久成人精品 | 国产精品成人不卡在线观看 | 欧美日韩中文国产一区二区三区 | 丝袜精品 欧美 亚洲 自拍 | 一级视频在线免费观看 | 99爱免费观看视频在线 | 中文字幕在线观看一区二区 |