原创 MAP映射問題

  在MAP.A中地址映射錶轉換物理地址到虛擬地址  EXPORT      OEMAddressTable[DATA]  ; LTORG      AREA OEMAddressTable, DATA, READONLY ;OEMAdd

原创 KernelIoControl和OEMIoControl的分析和使用(作者:wogoyixikexie@gliet)

對於KernelIoControl這個函數我們並不陌生,在2440 5.0BSP當中,這個函數在很多驅動中出現了,主要是用來申請中斷,比如下面 BOOL RetVal = KernelIoControl( IOCTL_HAL_REQUES

原创 wince地址映射過程

首先要理解 windows CE 下的地址映射機制。 wince有兩種地址:物理地址和虛擬地址.不同架構的 CPU 硬件上的區別導致地址映射也不同。MIPS和SH x 處理器,不採用MMU,直接在CPU和內核裏定義 1G 的物理地址;而X

原创 pb5.0 下build os 和build project之詳解

1、Platform Builder在IDE菜單中提供了幾種BuildOS命令和菜單選項,分別用於不同情況和不同階段的操作系統創建。         Sysgen:運行Sysgen工具。一般與Copy Files to Release D

原创 windows mobile 編譯(生成鏡像)提速

windows mobile 編譯鏡像總是讓人難以忍受的耗時,當然我們不能每次修改一點東西就build All一次。下面是自己工作中積累的【不同情況下使用的編譯命令】來加速生成鏡像的過程,不排除有錯的可能,歡迎指正。對於修改,一般可以分

原创 動態映射和靜態映射

先說VirtualAlloc 和VirtualCopy   VirtualAlloc 首先會從我們的虛擬地址空間中申請(或者說預留)一塊虛擬空間,準備接下來要用它。注意此時,可用的物理內存並沒有減少,只是虛擬地址少了一塊可用的區域。真正把

原创 2440休眠問題解決不了

在2440中進入休眠函數void OEMPowerOff(){    static UINT32 saveArea[51];    S3C2440A_INTR_REG *pIntr = (S3C2440A_INTR_REG*)OALPAt

原创 WINCE編譯過程中的錯誤出現階段

在WinCE系統中,當我們完成了相關的開發和系統定製工作以後,會編譯WinCE系統,最後生成NK.bin和NK.nb0。我現在用WinCE6.0在自己的PC上面編譯一次用時19分16秒(有一天無聊,就測了一下)。下面介紹一下WinCE系統

原创 WinCE OAL中的電源管理函數

作者:ARM-WinCE 在WinCE OAL中的電源管理主要由OEMIdle和OEMPowerOff兩個函數實現。應該說OEMIdle實現的是處理器級的電源管理,而OEMPowerOff實現的是板級的電源管理。 在WinCE系統運行的時

原创 WINCE物理和虛擬地址的問題

  在MAP.A中地址映射錶轉換物理地址到虛擬地址  EXPORT      OEMAddressTable[DATA]  ; LTORG      AREA OEMAddressTable, DATA, READONLY ;OEMAdd

原创 wince 5.0 .2440 5.0BSP的中斷過程(轉)

以前在CSDN寫過一些wince5.0中斷的文章,現在重新看看,發現以前的有些理解是錯誤的,想翻開來改改,可是鬱悶的CSDN在前臺沒有返回後臺的編輯功能,所以現在重新寫一篇糾正一下。       首先描述wince5.0 (2440BSP

原创 debug下的build錯誤

debug錯誤提示是 BUILD: [01:0000000169:ERRORE] NMAKE :  U1073: don't know how to make 'F:/wince5project/test/WINCE500 /new244

原创 怎樣使用Map文件進行查錯

首先必須生成程序的 MAP 文件。什麼是 MAP 文件?簡單地講, MAP 文件是程序的全局符號、源文件和代碼行號信息的唯一的文本表示方法,它可以在任何地方、任何時候使用,不需要有額外的程序進行支持。而且,這是唯一能找出程序崩潰的地方

原创 wince下的地址映射知識點滴

1.如果是在bootloader中打開MMU之前,程序訪問設備寄存器,可以直接操作物理地址,無需虛實映射。2.wince啓動後,硬件上ARM和X86體系的處理器啓動了MMU,操作系統只能訪問到虛擬地址,不能直接操作物理內存了。但是如果是X

原创 wince掛起和喚醒_relayon

不管任何方式的系統掛起,最終都會調用OEMPowerOff()函數來實 現.OEMPowerOff()函數由OEM來完成,這個函數也許會位於 power.c或者off.c的文件中.OEMPowerOff()是OEM來實現的,代碼和流程也許