Using Version 2 of the Serial Framework Extension (SerCx2)

You can write a serial controller driver that works together with version 2 of the serial framework extension (SerCx2) to manage a serial controller. You can also write a peripheral driver for a peripheral device that is connected to a port on a serial controller that is jointly managed by SerCx2 and a serial controller driver. This peripheral driver uses the serial I/O request interface to transfer data to and from the device. An extension-based serial controller driver handles all hardware-specific tasks for the serial controller, but uses SerCx2 to perform many system tasks that are common to all serial controllers. SerCx2 is a system-supplied component starting with Windows 8.1.

Note  SerCx2 replaces version 1 of the serial framework extension (SerCx), which was introduced in Windows 8. New serial controller drivers that are intended to run only in Windows 8.1 and later versions of Windows should be written to use the SerCx2 DDI instead of the SerCx DDI. However, Windows 8.1 and later versions of Windows support existing serial controller drivers that use the SerCx DDI.

 

A serial controller is a 16550 universal asynchronous receiver/transmitter (UART) or compatible device. For more information, see Serial Controller Drivers Overview.

In this section

Topic Description

SerCx2 Architectural Overview

SerCx2 works together with a serial controller driver to enable communication between a peripheral driver and a serially connected peripheral device. Typically, the serial controller is integrated into a System on a Chip (SoC) chip to provide low-pin-count communication with a peripheral device that is external to the SoC chip but is soldered to the same printed circuit board.

Serial Controller Driver Design for SerCx2

To manage your serial controller, you write a serial controller driver that performs hardware-specific tasks and communicates with SerCx2. Starting with Windows 8.1, SerCx2 is a system-supplied component that handles many of the processing tasks that are common to serial controllers.

Accessing a Device on a SerCx2-Managed Serial Port

SerCx2 and a serial controller driver jointly manage a serial port to which a peripheral device is permanently connected. To access a peripheral device on a SerCx2-managed serial port, your peripheral driver opens a logical connection to the serial port and obtains a file handle to represent this connection. Then the driver uses this handle to send I/O requests to the port.

 

 

 

Send comments about this topic to Microsoft