wince中的程序(process)是程式的一次動態執行例項(instance)。程序不參與系統排程,沒有優先順序和上下文。每個程序在建立時都會建立乙個主線程作為其預設的執行體。
真正參加系統排程的是執行緒。
wince提供了互斥mutex,事件event,訊號量semaphore 3種核心機制來實現多執行緒間的同步。
wince還為使用者態執行緒提供了兩種同步方法:臨界區段(critical section)和互鎖函式(interlocked function),這兩種方法不能跨程序使用,但效率很高。
wince採用層次化的結構進行記憶體管理,從上到下依次為物理記憶體、虛擬記憶體、邏輯記憶體和c/c++語言執行庫。
邏輯記憶體分為堆和棧兩種,用於程式**中的動態和靜態記憶體分配;堆是程序中一塊連續的虛擬記憶體位址空間,應用程式可以在其上動態的進行記憶體的申請和釋放,每次堆上記憶體的申請量為4b或8b;棧用於程序中的函式呼叫等,棧從高位址到地位址增長。
應用程式的發布涉及**簽名和**打包兩個方面。**簽名是出於資訊保安的考慮,經過了**簽名才能使執行的wince不受功能性限制;**打包即把應用程式製作成便於在wince下執行的.cab檔案,她需要乙個描述安裝包的.inf檔案,可以使用的打包工具軟體是cabwiz.exe 。
wince定製的一半設計流程:
1. 得到並安裝於開發板相對應的bsp。
2.定製wince作業系統。根據具體的應用需求,選擇合適的os元件,並且構建執行時映像。os的配置分為兩大類:hlbase 沒有圖形介面、iabase有圖形介面。統稱為cebase。
4.發布作業系統。
wince驅動開發學習筆記
因為課題前期調研沒做好,用的cpu板卡和資料採集卡來自兩個部門。加上買的是裸板,自己定製的os,技術支援不愛搭理。所以給的ai板卡的驅動一直裝不上,自己在鬱悶中尋找答案,就紮進了wince驅動的知識庫裡了。不管驅動裝不上是不是這個原因,學點東西總沒有壞處。做點記錄備查 首先是wince驅動的分類問題...
wince驅動開發學習筆記
因為課題前期調研沒做好,用的cpu板卡和資料採集卡來自兩個部門。加上買的是裸板,自己定製的os,技術支援不愛搭理。所以給的ai板卡的驅動一直裝不上,自己在鬱悶中尋找答案,就紮進了wince驅動的知識庫裡了。不管驅動裝不上是不是這個原因,學點東西總沒有壞處。做點記錄備查 首先是wince驅動的分類問題...
wince 驅動開發 BSP目錄
摘要網路出處 驅動需要 platform common 這裡存放了所有可重用的 這一部分 將在 bsp之前編譯。platform common src common 這裡存放了被 bsp中重用的通用 這一部分 是跟硬體平台無關的。譬如一般的 ioctl 處理函式 與核心互動的公共的中斷程式等等,另外...