Time of Update: 2018-12-03
[url]http://www.osronline.com[/url],技術含量很高的Windows驅動開發網站,該網站的list基本上覆蓋了所有Windows驅動開發的常見問題,強烈推薦; [url]http://www.microsoft.com/whdc[/url],微軟的驅動開發資源首頁,可以擷取很多官方資料; [url]http://www.wd-3.com/[/url],該網站收集了一些比較好的Windows驅動開發方面的文章和範例程式碼;
Time of Update: 2018-12-03
今天看書的時候看到了這兩個函數,開始還沒在意,以為是同一個,功能應該一樣。後來想想一樣的幹嘛還弄兩個呢,於是就查了一下,發現這兩個函數差別還蠻大的。首先來看這兩個函數的原型:NTSTATUS IoCallDriver( IN PDEVICE_OBJECT DeviceObject, IN OUT PIRP Irp );NTSTATUS PoCallDriver( IN PDEVICE_OBJECT DeviceObject, IN OUT
Time of Update: 2018-12-03
Time of Update: 2018-12-03
1.1 嵌入式系統的概述1.1.1
Time of Update: 2018-12-03
1.1 Flash 介面電路設計Flash 儲存空間是一種在系統上(In-System)進行電擦寫,掉電後資訊不丟失的儲存空間。它具有低功耗、大容量、擦寫速度快、可整片或分扇區在系統編程、擦除等特點。並且由內部嵌入式的演算法完成對晶片的操作,因而在各種嵌入式系統中得到了廣泛的應用。現在市場上兩種主要的非易失快閃記憶體技術是 NOR 和NAND。NOR 的特點是晶片內執行,這樣應用程式可以直接在 Flash 內運行,不必再把代碼讀到系統 RAM 中。NOR 的傳輸效率很高,在 1~4MB
Time of Update: 2018-12-03
最近在學習Windows核心編程,同時也接觸到了一些驅動的概念,其中有一些概念讓人比較容易混淆,所以就寫了這篇文章發表一下自己的看法: 首先,談談驅動對象(DRIVER_OBJECT),可以說驅動對象代表的是一個驅動程式(或者叫核心模組)。在寫核心程式時,必須要填寫這樣一種結構,來告訴Windows程式提供的功能。核心程式並不產生進程,它們有系統的System進程載入,可以存在於任何的進程。
Time of Update: 2018-12-03
我們在說DeviceIoControl函數時其第二個參數dwIoControlCode就是由CTL_CODE宏定義的,下邊我們可以瞭解一下CTL_CODE的內容。 CTL_CODE:用於建立一個唯一的32位系統I/O控制碼,這個控制碼包括4部分組成:DeviceType(裝置類型,高16位(16-31位)),Access(訪問限制,14-15位),Function(功能2-13位),Method(I/O訪問記憶體使用量方式)。This macro creates a unique
Time of Update: 2018-12-03
#include <windows.h>#include <winsvc.h>#include <conio.h>#include <stdio.h>#define DRIVER_NAME "HelloDriver"#define DRIVER_PATH "..//MyDriver//HelloDriver.sys"//裝載NT驅動程式BOOL LoadNTDriver(char* lpszDriverName,char*
Time of Update: 2018-12-03
在理順了上述檔案的相互之間的關係之後,再來分析Windows CE 6.0的啟動過程可能就比較容易啦。 1、Startup函數: 從Windows CE 6.0的協助文檔可以看出,WinCE6.0的啟動只與oal.exe和kernel.dll有關,至於kitl.dll,只有將作業系統編譯成具有 KITL功能時才用到。分析Windows CE
Time of Update: 2018-12-03
當前,以具有無線通訊功能的個人數位助理 PDA、手持個人電腦 HPC、互動式網路資訊家電、車載多媒體系統為代表的新一輪智能型 3C(Computer、Communication、Consumer)合一的類 PC 嵌入式系統與技術進入了一個嶄新的智能化、網路化的發展階段,類 PC
Time of Update: 2018-12-03
1.1.1 硬體平台的選擇嵌入式系統的核心組件是各種類型的嵌入式處理器。據不完全統計,目前全世界嵌入式處理器的品種總量已經超過1000多種,流行體繫結構有30幾個系列。但與全球PC市場不同的是,沒有一種微處理器和微處理器公司可以主導嵌入式系統,僅以32位的CPU而言,就有100種以上嵌入式微處理器。由於嵌入式系統設計的差異性極大,因此選擇是多樣化的。調查上市的CPU供應商,有些公司如Motorola、Intel、AMD很有名氣,而有一些小的公司,如QED(Santa
Time of Update: 2018-12-03
在Windows CE增加自訂中斷處理基於S3C2410,Windows CE4.2,BSP是smdk2410。WinCE的中斷處理是三個映射關係:ISQ --> Interrupt ID(邏輯中斷號) -->
Time of Update: 2018-12-03
粒子物理學裡有關於宇宙的“標準模型”,WDM也是這樣。圖5-5顯示了一個典型的IRP在各個處理階段的所有權流程。並不是每種IRP都經過這些步驟,由於裝置類型和IRP種類的不同某些步驟會改變或根本不存在。儘管這個過程可能有各種變化形式,但這個圖為我們將要展開的討論提供了一個很好的起點。比你想象的更複雜...當你第一次遇到IRP處理標準模型這個概念時,你也許認為這是個比較複雜的概念。但不幸的是,這個概念還不能滿足所有問題,比如熱拔插裝置、動態資源再分配,和電源管理等等。在後面的章節中,我將描述處理這
Time of Update: 2018-12-03
1.1 ARM微處理器的選擇1.1.1 ARM微處理器系列ARM 微處理器目前包括下面幾個系列,其它廠商基於ARM 架構的處理器,除了具有ARM 架構的共同特點以外,每一個系列的ARM 微處理器都有各自的特點和應用領域。l ARM7 系列l ARM9 系列l ARM9E 系列l ARM10E 系列l SecurCore 系列l Inter 的Xscalel Inter 的StrongARM其中,ARM7、ARM9、ARM9E 和ARM10E 為4
Time of Update: 2018-12-03
基於TQ2440硬體平台,該平台處理器S3C2440A,在這個平台當中存在四個LED,用於測試,顯示其他硬體運行情況等。LED驅動是一個典型的I/O驅動,簡單但健全,是學習Windows CE嵌入式平台的典型例子。首先我們來看看這個平台這這部分電路圖吧! 這四個LED分別加了1K偶的電阻,另一端接3.3V電壓,接下來看看核心板的介面。
Time of Update: 2018-12-03
這些程式基於TQ2440平台,主要是實現鍵盤按鍵的運作,方便起見,只實現了上下左右四個按鍵。該部分硬體結構圖如下; 從硬體圖可以看出,按鍵串連EINT1、EINT2、EINT4和EINT0四個中斷引腳。在WindowsCE中,我們只需要處理好這四個中斷即可,如下詳細介紹; 從這幅圖中可以看出,EINT0~4的是由GPF0~4控制的,因此在驅動之前需要先配置這四個GPIO口,使其下降延觸發,如下代碼;v_pIOPregs->GPFCON &= ~(0
Time of Update: 2018-12-03
與以前的作業系統相比,Windows 2K/XP的優點之一是具有更好的可管理性。例如它支援Windows 2000伺服器終端服務下的遠端管理模式,支援Microsoft管理主控台(MMC),再有一個就是支援WMI。WMI是Windows Management Instrumentation的縮寫,即Windows管理規範。WMI有許多用途,其中之一就是通過指令碼編程實現管理自動化。 一、為什麼要用指令碼? 回顧九十年代,Windows
Time of Update: 2018-12-03
1.1.1 TCPMP多媒體播放器本系統中採用的多媒體播放器是TCPMP,TCPMP播放器播放速度很快且支援多達幾十中多媒體格式。TCPMP開源項目,同時支援Windows CE作業系統,而且提供很好的擴充性,例如需要重新編寫TCPMP介面只需重新編寫interface.plg即可。TCPMP提供全部的原始碼,移植非常方便,只需編譯後將產生的檔案拷貝到目標機器運行即可。TCPMP多媒體播放器介面非常簡潔, 5.35所示。圖 5.37
Time of Update: 2018-12-03
1.1 GPS 全球定位技術GPS(Global Position System):全球定位系統,它是美國從上世紀 70 年代開始研製,曆時 20 年,耗資近 200 億美元,於 1994 年全面建成的利用導航衛星進行測時和測距,具有在海、陸、空進行全方位即時三維導航與定位能力的新一代衛星導航與定位系統。如今,GPS 已經成為當今世界上最實用,也是應用最廣泛的全球精密導航、指揮和調度系統。1.1.1 GPS 組成GPS 系統主要包括有三大組成部分,即空間星座部分、地面控制部分和使用者裝置部分[6
Time of Update: 2018-12-03
1.1 嵌入式處理器 S3C2440A[17]S3C2440A是一款專用的以手持功能為主而設計的晶片,其特點有低功耗,高速的處理計算能力。為了減少系統的耗費,2440使用了如下組件:2440基於ARM920T核心的,0.13Um cmos 標準單元和儲存單元複合體,它功耗及小、簡單、穩定的設計非常適合對電源要求較高的產品上。S3C2440A採用ARM920T核心, 4.1所示ARM920T的結構圖。 圖 4.1 ARM920T 的結構框圖 S3C2440A片上整合了如下功能; l