CMSIS-Driver Validation  
Driver Validation
 
Loading...
Searching...
No Matches
USART Server

The USART Server is an application used by the CMSIS-Driver Validation suite to test the physical operation of the USART driver.

It is available for the STMicroelectronics STM32F429I-DISC1 board and as a template for any board with available Board Layer and configured CMSIS compliant USART driver.

Note
STM32F429I-DISC1 was selected because its USART driver is stable and supports all required features.
For running on the STM32F429I-DISC1 board, see Running on STM32F429I-DISC1 board.
For running on other hardware, see Running on specific hardware.

Features

Operation

The Server waits for a command from the USART Client (Driver Validation), executes it, and then waits for the next command. Some commands include additional input/output data phases.

Configuration

Communication settings are defined in USART_Server_Config.h file.

USART_Server_Config.h configuration file in Configuration Wizard view mode

Configuration settings

Commands

Commands are human-readable (ASCII) for easier analysis with a USART bus analyzer.

Note
For detailed command descriptions, see README.md in project root.

Example capture: validating the Send function in Asynchronous mode:

Running on STM32F429I-DISC1 board

Using the Arm CMSIS Solution VS Code extension, create a new solution from example:

  1. In the CMSIS extension, click Create a New Solution.
  2. Select an STM32F429I-DISC1 board as a Target Board.
  3. Under Templates, Reference Applications, and Examples, select USART Server (CMSIS-Driver Validation USART Server application for STM32F429I-DISC1 board).
  4. Choose Solution Base Folder and click Create.
  5. Build and run the USART Server application on the STM32F429I-DISC1 board.

USART1 pinout (STM32F429I-DISC1):

USART function Pin
Tx PA9
Rx PA10
CLK (sync) PA8
CTS PA11
RTS PA12
DCD test pin PA13
RI test pin PA14
Note
IMPORTANT: Connect ground between the USART Server and the Device (Driver) Under Test to ensure a common reference potential.
For synchronous testing, this hardware supports only synchronous Master mode, therefore it can only be used to test synchronous Slave mode of the Driver Under Test.
The STM32F429I-DISC1 USART Server for build-type: Debug displays command execution on an on-board LCD.

Running on specific hardware

Using the Arm CMSIS Solution VS Code extension, create a new solution from template:

  1. In the CMSIS extension, click Create a New Solution.
  2. Select the Target Board.
  3. Under Templates, Reference Applications, and Examples, select USART Server (CMSIS-Driver Validation USART Server application).
  4. Choose Solution Base Folder, click Create.
  5. Select the board layer that provides an USART Driver, click OK.
  6. If the board's USART is not routed to ARDUINO (or a different peripheral is required) , open USART_Server_Config.h, Open Preview and edit Driver_USART# to the required instance.
  7. Build and run the USART Server application on your hardware.
Note
IMPORTANT: The target board's USART CMSIS-Driver must be fully CMSIS compliant!
The USART Server for build-type: Debug displays command execution on an STDOUT channel (typically Virtual COM Port via Debug adapter).

Troubleshooting

  1. Server not responding
    • Reset the Server.
    • Verify the correct driver instance in USART_Server_Config.h.
    • Ensure communication settings (mode) match between Server and Driver Validation; if changed, rebuild and reflash.
  2. Debug message "Server Start failed!" (build-type: Debug)
    • Check heap (must be > 2 * USART_SERVER_BUF_SIZE).
    • Verify RTOS allows >= 512 bytes allocation for the Server main thread (e.g., Global Dynamic Memory size in RTX_Config.h if RTX5).
    • Ensure the Server's USART driver supports all fixed settings:
      • Baudrate 115200, 8-N-1, Flow Control None.