Windows CE5 0 下I O操作基礎 1

2021-04-12 19:51:56 字數 664 閱讀 6435

對外設進行 i/o 操作實際上也就是讀寫外設的暫存器,而我們通常使用的x86或者arm處理器在硬體上決定了wince系統啟動mmu後,os無法直接訪問實體地址,因此需要做一些工作來實現i/o操作.

其次,如果是操作通過匯流排掛接的 i/o 或者儲存器,必須先把匯流排位址轉化成 cpu 上的系統位址,再做實體地址到虛擬位址的對映。這裡需要查 cpu 的 datasheet ,找出所要操作的i/o位址.先呼叫 haltranslatebusaddress( )把匯流排位址轉化成cpu上的系統位址, 再呼叫 mmmapiospace 函式實現虛實對映;也可以使用 transbusaddrtovirtual

()直接把匯流排上的位址轉化成系統的虛擬位址。

第三,在一般的應用程式中訪問

i/o是訪問它的快取段虛擬位址,而驅動中必須訪問無快取段虛擬位址。簡單來說無快取段虛擬位址

=快取段虛擬位址

+0x20000000

。總結起來,如果是

wince

核心(如hal)訪問外部

i/o,只需要在

oemaddresstable

中定義實體地址到虛擬位址間的對映關係就可以了;如果是應用程式或者驅動要訪問

i/o,要做的工作包括:1。在

cpu實體地址和虛擬位址間做乙個動態對映,

2 。對虛擬位址進行操作。

Windows CE 下I O操作基礎

對外設進行 i o操作實際上也就是讀寫外設的暫存器,而我們通常使用的x86或者arm處理器在硬體上決定了wince系統啟動後,無法直接訪問實體地址,因此需要做一些工作來實現i o操作.首先要理解 windowsce 下的位址對映機制。cpu硬體上的區別導致位址對映也不同。和 x處理器,不採用 直接在...

Windows CE 5 0待機介面定製 概述

windows ce 5.0的預設介面如下 為了所產品有自己的特色,對windows ce 5.0的標準介面進行了修改,示例如下 開始選單中的內容看不清楚,但應該可以知道其中的內容已經被修改 定製過程,主要是對 wince500 public shell oak中源 與資源的修改。具體涉及到 1 工...

基礎IO操作(庫函式)

常用的檔案操作 fopen 檔名,開啟方式 開啟乙個檔案 開啟方式 r 開啟唯讀檔案,檔案必須存在 r 開啟可讀寫的檔案,檔案必須存在 w 開啟只寫檔案,若檔案不存在則建立檔案,檔案存在則清空原檔案內容 w 開啟可讀可寫檔案,若檔案不存在則建立檔案,檔案存在則清空原檔案內容 a 以附加的方式開啟只寫...