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