eCos Reference Manual
Prev | Chapter 4. HAL Interfaces | Next

# Diagnostic Support

The HAL provides support for low level diagnostic IO. This is particularly useful during early development as an aid to bringing up a new platform. Usually this diagnostic channel is a UART or some other serial IO device, but it may equally be a a memory buffer, a simulator supported output channel, a ROM emulator virtual UART, and LCD panel, a memory mapped video buffer or any other output device.

`HAL_DIAG_INIT()` performs any initialization required on the device being used to generate diagnostic output. This may include, for a UART, setting baud rate, and stop, parity and character bits. For other devices it may include initializing a controller or establishing contact with a remote device.

`HAL_DIAG_WRITE_CHAR(c)` writes the character supplied to the diagnostic output device.

`HAL_DIAG_READ_CHAR(c)` reads a character from the diagnostic device into the supplied variable. This is not supported for all diagnostic devices.

These macros are defined in the header file `cyg/hal/hal_diag.h`. This file is usually supplied by the variant or platform HAL, depending on where the IO device being used is located. For example for on-chip UARTs it would be in the variant HAL, but for a board-level LCD panel it would be in the platform HAL.

Prev | Home | Next
Linker Scripts | Up | SMP Support