WinCE5 0入門全過程 含流驅動開發

2021-06-04 16:44:39 字數 2766 閱讀 9804

一、入門準備

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排程即可!

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

6)mfc:microsoft foudation class,微軟基礎類 

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++的。此軟體用來編寫應用程式。

5)usb同步驅動:必備!!!

vs2008的安裝按提示按裝即可,pb5.0的安裝可以參考天嵌科技的手冊進行安裝,講的很好很詳細,至於pb5.0補丁的安裝只需安裝net2.0與net3.5的那乙個即可,其實安裝與否我原由我也不清楚,好好參考天嵌科技術的手冊吧。另外要參考天嵌科技術的手冊新增bsp,生成相應的sdk,然後安裝sdk,這些都安裝好後還有乙個工作就是安裝usb驅動,這一關一定要過,安不上的話就等著安上再說!

何宗鍵 編著.windows ce嵌入式系統.北京:北京航空航天大學出版社

還有就是各個開發板廠商的使用手冊都是很好的資料,必備!

有關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系列軟體都需要這個的。

(原檔名:pb安裝.jpg) 引用

WinCE 5 0 的目錄結構

platform builder 5已經自帶wince 5.0,安裝過程會指定wince 5.0的安裝路徑,預設為x wince500,wince500即為wince 5.0的根目錄。根目錄下主要有以下幾個目錄 public,platform,private,pbworkspaces,others,...

WinCE 5 0邊做邊學 5

對於實時系統,如何除錯是乙個很難解決的問題,包括對系統核心的除錯,對驅動程式的除錯,對應用程式的除錯等。對於應用程式,通常各整合開發環境都提供了常規的單步跟蹤等除錯手段。而對於另兩個的除錯,platform builder除了為我們提供了常規的斷點跟蹤等手段以外,還和系統的源程式配合使用了一種新的除...

wince5 0 中斷 詳解

原帖位址http topic.csdn.net u 20071008 11 d54df4a6 09ef 4d7f aadb 2f60ff3824fc.html 1 wince中第一次對中斷的處理是在oal的oeminit 中,該函式呼叫oalintrinit 完成對中斷的初始化.2 oalintri...