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...
You Might Like
Recommended ContentMore
Open source project More
Popular Components
Searched by Users
Just Take a LookMore
Trending Downloads
Trending ArticlesMore