久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇Win CE 專區WinCE系統定制與驅動開發 → WinCE5.0入門全過程


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

主題:WinCE5.0入門全過程

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


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

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

一、前言

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

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

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

二、入門準備

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

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

3、相關術語
0)PC機(Personal Computer)就是指你的電腦,OS(Operating System)是指操作系統!
1)BSP(Board Support Package,板級支持包),介于硬件平臺和操作系統之間的一層,屬于操作系統;不同的操作系統對應于不同定義形式的BSP。
2)Bootloader與BIOS:Bootloader是引導程序,就是對實驗平臺進行初始化,設定一些相關參數等等。就我現在使用的WinCE5.0來說,根據個人理解,Bootloader與BIOS是一個東西,就是在ADS1.2下的一個工程而已,里面含有start.s及其它的一些相關代碼。這個現在我還有些模糊,僅談到此。
3)OEM:Original Equipment Manufacturer原始設備制造商
4)OAL:OEM Abstraction Layer
5)DLL:Dynamic Link Library,動態鏈接庫 
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、所需開發軟件
1)Platform Builder 5.0:此軟件用來定制操作系統,生成內核,生成SDK,編譯驅動程序等。
2)Visual Studio 2008:我用的是此版本,當然也許不許這么高版本,網上用的多的是VS2005,還有使用EVC++的。此軟件用來編寫應用程序。
3)ActiveSync 4.5:此軟用來同步PC機與實驗板進行同步。此軟件可以在微軟中國官方網站下載。
4)DNW:串口調試工具,在上電時用來顯示BIOS發往串口的相關信息,也可以輸入相關參數進行設置的。
5)USB同步驅動:必備!!!
VS2008的安裝按提示按裝即可,PB5.0的安裝可以參考天嵌科技的手冊進行安裝,講的很好很詳細,至于PB5.0補丁的安裝只需安裝Net2.0與Net3.5的那一個即可,其實安裝與否我原由我也不清楚,好好參考天嵌科技術的手冊吧。另外要參考天嵌科技術的手冊添加BSP,生成相應的SDK,然后安裝SDK,這些都安裝好后還有一個工作就是安裝USB驅動,這一關一定要過,安不上的話就等著安上再說!

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

三、打開WinCE的大門

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

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

安裝選擇處理器到這一步時如果ARMV4I是一個“×”,則應單擊向下的小黑三角,選擇第一個或第二個選項,其它的我也不是很懂,反正第一次入門多安裝了總比不能用好,以后精通了再選擇最優方法吧。
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是由廠商提供的,別告訴我實驗板是你自已做的,一上手就寫BSP有點不現實吧。參考天嵌手冊2.1.1節內容,很輕松搞定!
9)安裝SDK:參考天嵌手冊2.4節內容很輕松搞定,然后安裝即可!
到現在為止環境基本搞定,其它相關細節參考開嵌手冊即可!

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

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

四、走進WinCE

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

1、燒寫Bootloader(沒燒過,只是這樣認為要首先燒寫BIOS)
2、燒寫WinCE核
由于本人拿到實驗板時以上兩步已做好,即我拿到的實驗板上就有燒好的WinCE5.0操作系統,因此以上兩步是我猜測的!
3、打開VS,按照天嵌手冊4.2節內容進行操作,如果成功運行,則OK!本步驟成功后則說明平臺搭建成功,但HELLO程序不涉及實驗板上的任何具體硬件,個人認為這只能算是入門了一半,還有一個坎沒邁過去,那就是流驅動的開發,因為開發第一個流驅動的工作量并不比搭建平臺省事,尤其是全靠自已琢磨,旁邊無人指導、無人探討!
4、運行成功HELLO程序后你可能會想,如果想點亮實驗板上的LED燈該怎么用啊?基于VS開發環境也沒法控制CPU的IO寄存器啊?這就需要流驅動了!
大部分實驗板的手冊都有詳細的HELLO程序過程,但很少有手冊詳細講解流驅動的開發過程,下面以我的經歷詳細的寫一寫:
流驅動的基本介紹可以看看天嵌手冊的第五章,腦子里起碼要先有個基本概念!
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擴展名去掉,使其變為無擴展名的文件。
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入門全過程








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
欧美一区二区黄| 久久久亚洲精品石原莉奈| 91精品国产综合久久国产大片| 精品少妇一区二区三区免费观看 | 91精品1区2区| 欧美国产禁国产网站cc| 韩日av一区二区| 亚洲精品9999| 国产精品蜜臀av| 成人黄色免费短视频| 色综合婷婷久久| 亚洲欧美在线另类| 不卡的av在线播放| 欧美三级在线视频| 亚洲一区二区三区精品在线| av在线综合网| 欧美电影在线免费观看| 亚洲成av人综合在线观看| 91麻豆国产香蕉久久精品| 欧美图片一区二区三区| 亚洲高清一区二区三区| 国产精品福利视频| 久久综合资源网| 国产高清无密码一区二区三区| 亚洲精品一区二区三区樱花| 国产精品久久午夜| www.久久久| 久久精品人人做人人爽97| 国产成人av影院| 欧美欧美欧美欧美首页| 免费成人在线观看| 一本久久综合亚洲鲁鲁五月天| 一区二区成人在线视频| 开心色怡人综合网站| 国产精品久久一卡二卡| 波多野结衣精品久久| 久久久精品免费免费| 91蝌蚪porny| wwww国产精品欧美| 岛国av在线一区| 日韩女同互慰一区二区| 国产成人精品www牛牛影视| 欧美人妇做爰xxxⅹ性高电影| 天天色天天爱天天射综合| 亚洲欧美日韩精品久久久| 亚洲一区二区视频在线| 亚洲精品免费在线看| 亚洲成人激情社区| 亚洲日本无吗高清不卡| 五月婷婷综合在线| 色婷婷激情久久| 久草精品在线观看| 欧美精品久久久久久久多人混战| 狠狠色丁香婷婷综合| 91超碰这里只有精品国产| 国产激情视频一区二区三区欧美 | 日韩不卡手机在线v区| 亚欧精品在线| 美女高潮久久久| 91精品国产丝袜白色高跟鞋| 成人一二三区视频| 久久嫩草精品久久久精品| 成人片在线免费看| 亚洲精品欧美专区| 一个色的综合| 国内精品免费**视频| 日韩视频免费观看高清完整版在线观看 | 欧美日韩精品久久久免费观看| 亚洲免费电影在线| 亚洲国产一区二区精品视频| 美女国产一区二区三区| 日韩午夜精品视频| 国产精品大全| 亚洲成人1区2区| 337p亚洲精品色噜噜| 91污片在线观看| 亚洲素人一区二区| 在线不卡日本| 高清成人免费视频| 中文字幕国产一区二区| 亚洲欧美国产一区二区| 国产一区二区三区在线观看免费视频 | 欧美精品久久久久久久久老牛影院| 国产成人免费在线视频| 久久精品视频一区二区三区| 久久综合一区二区三区| 久久精品久久精品| 精品国产乱码91久久久久久网站| 激情五月综合色婷婷一区二区| 偷拍自拍另类欧美| 精品国产一区二区三区不卡| 欧美大香线蕉线伊人久久| 蜜桃久久久久久| 久久久国产综合精品女国产盗摄| 日韩国产一区久久| 国产激情精品久久久第一区二区| 国产精品乱码一区二区三区软件| 色综合天天天天做夜夜夜夜做| 成人免费视频一区| 中文字幕va一区二区三区| 中国一区二区三区| av一区二区三区| 亚洲不卡在线观看| 久久久亚洲综合| 中文网丁香综合网| 91偷拍精品一区二区三区| 日本亚洲免费观看| 中文字幕二三区不卡| 色天使色偷偷av一区二区| 国产精品一区视频网站| 欧美mv日韩mv| 日韩影视精品| www.久久精品| 天天综合网 天天综合色| 精品伦理精品一区| 亚洲精品中文字幕在线| 99国产精品视频免费观看| 亚洲综合色网站| 日韩欧美色综合| 涩涩涩999| 国产精品大全| 国产在线观看免费一区| 一区二区三区在线免费播放| 日韩欧美国产一区二区三区| 亚洲午夜在线观看| 国产精品大全| 国产成人av自拍| 日韩av电影天堂| 国产精品久久久久四虎| 91精品国产综合久久久久久漫画 | 在线观看91精品国产入口| www.久久草| 高清视频一区二区| 久久激情五月婷婷| 亚洲成av人片www| 亚洲人成网站影音先锋播放| 精品久久久久久久人人人人传媒| 中文字幕日韩一区二区三区不卡| 精品国产一区二区三区麻豆免费观看完整版 | 日韩三级电影网站| 国产成人精品福利一区二区三区 | 国产精品国产亚洲精品看不卡15| 国产一区二区按摩在线观看| 日韩高清不卡一区二区三区| 一区二区视频在线看| 国产精品欧美一级免费| 欧美精品一区二区三区蜜桃视频| 91麻豆精品国产91久久久资源速度| 一本久久a久久精品vr综合| 麻豆久久久av免费| 国产欧美日韩一区二区三区| 91亚色免费| 91色|porny| 99视频一区二区| 成a人片国产精品| 福利电影一区二区| 国产一区二区美女诱惑| 精品一区二区三区免费播放| 美女网站在线免费欧美精品| 日本在线观看不卡视频| 亚洲综合精品久久| 夜夜精品视频一区二区 | 国产富婆一区二区三区| k8久久久一区二区三区| 国产99久久久国产精品潘金 | 91亚洲国产成人精品一区二区三| 国产精品一区二区三区99| 精品一区二区三区在线观看| 老汉av免费一区二区三区| 麻豆成人综合网| 国产自产2019最新不卡| 国产做a爰片久久毛片| 国产麻豆午夜三级精品| 国产中文字幕精品| 国产一区二区三区香蕉| 丰满少妇久久久久久久| 丰满白嫩尤物一区二区| 99国内精品久久| 懂色中文一区二区三区在线视频| 成人91免费视频| 九九九热999| 亚洲ai欧洲av| 欧美性欧美巨大黑白大战| 欧美久久久久久久久| 欧美成人伊人久久综合网| 久久久www成人免费无遮挡大片| 国产精品久线在线观看| 亚洲自拍另类综合| 日本vs亚洲vs韩国一区三区二区 | 亚洲18色成人| 日本 国产 欧美色综合| 久久99久久99精品免视看婷婷| 国产综合色产在线精品| 成人丝袜视频网| 成人三级在线| 亚洲欧美精品在线观看| 欧美丰满美乳xxx高潮www| 久久一区二区三区国产精品| 亚洲欧美日韩综合aⅴ视频| 午夜欧美电影在线观看|