doc

Basics of driver development under Windows CE

  • 2013-09-29
  • 1.14MB
  • Points it Requires : 1

              Driver Development Basics in Windows CE Driver Development Basics in Windows CE I think even if readers have read Microsoft\'s driver development training materials and the driver section in the CE help documents, they are still confused. To truly understand the driver, you must combine some driver source code. Here I will briefly talk about the basic knowledge of driver development based on the initialization process in the serial port driver (COM16550). The serial port driver under Windows CE can handle all devices with I/O behaviors similar to serial ports, including devices based on 16450, 16550 UART (universal asynchronous receiver and transmitter chips) and some devices using DMA, such as 9-pin serial ports, infrared I/O ports, modems, etc. In the %_WINCEROOT%\\Public\\Common\\OAK\\Drivers\\Serial directory, the COM_MDD2 subdirectory contains the new serial port driver MDD layer function code. The COM16550 subdirectory contains the serial port driver PDD layer code. The SER16550 subdirectory contains a series of functions dedicated to controlling UARTs compatible with 16550, so the main work of the PDD layer is to call the functions in SER16550. There is also an ISR16550 subdirectory that contains installable ISRs (interrupt service routines) dedicated to serial port drivers, while many hardware device drivers use the CE default installable ISRgiisr.dll. The following are examples and meanings of the corresponding registry settings for general serial port devices: [pic] SysIntr is predefined by CE in the file Nkintr.h to uniquely identify the interrupt device. OEMs can define their own SysIntr in the file Oalintr.h. Common predefined SysIntrs include SYSINTR_NOP (interrupts are only handled by ISRs, not ISTs), SYSINTR_RESCHED (reschedule threads), SYSINTR_DEVICES (base value of device interrupt IDs predefined by CE), SYSINTR_PROFILE, SYSINTR_TIMING, SYSINTR_FIRMWARE, etc. are all defined based on SYSINTR_DEVICES. IoBase is the first address of the IO address space of serial port 1, and IoLen is the I...             

unfold

You Might Like

Uploader
solarelec
 

Recommended ContentMore

Popular Components

Just Take a LookMore

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
×