Introduction

The APBUART is part of the GRLIB device library from Gaisler. The ApbUart model supports both infinite speed UARTs (where bytes are sent when the register is written) and the emulation of FIFOs and send times based on the scaler.

Properties

pnp.config

APB plug and play config word

pnp.bar

APB plug and play bar register

config.infiniteUartSpeed

Set to 1 to enable infinite UART speed.

config.fifoSize

The FIFO size of the UART, set to 1 for FIFO free UARTs.

config.interrupt

The interrupt this UART will raise.

data

ApbUart data register. Writing to this will put a byte in the FIFO.

status

Status register.

control

Control register.

scaler

Scaler register.

fifo_debug

FIFO debug register (not supported).

tx

Serial interface destination

queue

EventIface (normally provided by the CPU or machine object)

irqCtrl

IRQ controller that the UART should send IRQs to.

rxFifo.start

Read location for Rx fifo

rxFifo.usage

Current bytes in Rx fifo

rxFifo.size

Fifo size

rxFifo.data

Fifo data buffer

txFifo.start

Read location for Tx fifo

txFifo.usage

Current bytes in Tx fifo

txFifo.size

Fifo size

txFifo.data

Fifo data buffer

txShift

Shift register. Only used when UART speed is non-infinite.

Interfaces

MemAccessIface

Type = MemAccessIface. Handles MMIOs.

UartIface

Type = SerialIface. Serial interface for the receiver.

DeviceIface

Type = DeviceIface.

ApbIface

Type = ApbIface. PnP access interface.

Limitations

  • Loop back mode is not presently supported.

  • Control flow (cts) is not supported