GRLIB APBUART Model
The ApbUart model is available in the ApbUart plugin. That plugin is part of the GRLIB device library feature. The ApbUart model supports both FIFO simualtion and infinite speed UARTs. In infinite speed mode bytes are sent directly when they are written to the data register.
Loading the Plugin
@ApbUart Reference
Properties
| Name | Type | Description |
|---|---|---|
Class |
*void |
Class object |
Component |
*void |
Pointer to component object if part of component |
LocalName |
*char |
Local name (in component, if applicable) |
LogMessageFlags |
uint64_t |
Per-object log message suppression flags |
LoggingFlags |
uint64_t |
Flags for logging info |
Name |
*char |
Object name |
ObjectID |
uint64_t |
Unique ObjectID. |
ReplayLoggingFlags |
uint64_t |
Replay-time category logging flags |
TimeSource |
*void |
Time source object |
ApbUart Reference
Properties
| Name | Type | Description |
|---|---|---|
CTRLColdResetValue |
uint32_t |
UART control register |
CTRLForcedBits |
uint32_t |
UART control register |
CTRLForcedFlippedBits |
uint32_t |
UART control register |
CTRLReadMask |
uint32_t |
UART control register |
CTRLResetMask |
uint32_t |
UART control register |
CTRLResetValue |
uint32_t |
UART control register |
CTRLWriteMask |
uint32_t |
UART control register |
Class |
*void |
Class object |
Component |
*void |
Pointer to component object if part of component |
DATAColdResetValue |
uint32_t |
UART data register |
DATAForcedBits |
uint32_t |
UART data register |
DATAForcedFlippedBits |
uint32_t |
UART data register |
DATAReadMask |
uint32_t |
UART data register |
DATAResetMask |
uint32_t |
UART data register |
DATAResetValue |
uint32_t |
UART data register |
DATAWriteMask |
uint32_t |
UART data register |
DEBUG |
uint32_t |
UART FIFO debug register |
DEBUGColdResetValue |
uint32_t |
UART FIFO debug register |
DEBUGForcedBits |
uint32_t |
UART FIFO debug register |
DEBUGForcedFlippedBits |
uint32_t |
UART FIFO debug register |
DEBUGReadMask |
uint32_t |
UART FIFO debug register |
DEBUGResetMask |
uint32_t |
UART FIFO debug register |
DEBUGResetValue |
uint32_t |
UART FIFO debug register |
DEBUGWriteMask |
uint32_t |
UART FIFO debug register |
LocalName |
*char |
Local name (in component, if applicable) |
LogMessageFlags |
uint64_t |
Per-object log message suppression flags |
LoggingFlags |
uint64_t |
Flags for logging info |
Name |
*char |
Object name |
ObjectID |
uint64_t |
Unique ObjectID. |
ReplayLoggingFlags |
uint64_t |
Replay-time category logging flags |
SCALERColdResetValue |
uint32_t |
UART scaler reload register |
SCALERForcedBits |
uint32_t |
UART scaler reload register |
SCALERForcedFlippedBits |
uint32_t |
UART scaler reload register |
SCALERReadMask |
uint32_t |
UART scaler reload register |
SCALERResetMask |
uint32_t |
UART scaler reload register |
SCALERResetValue |
uint32_t |
UART scaler reload register |
SCALERWriteMask |
uint32_t |
UART scaler reload register |
STATColdResetValue |
uint32_t |
UART status register |
STATForcedBits |
uint32_t |
UART status register |
STATForcedFlippedBits |
uint32_t |
UART status register |
STATReadMask |
uint32_t |
UART status register |
STATResetMask |
uint32_t |
UART status register |
STATResetValue |
uint32_t |
UART status register |
STATWriteMask |
uint32_t |
UART status register |
TimeSource |
*void |
Time source object |
config.clockDivider |
uint32_t |
Clock divider |
config.fifoSize |
uint8_t |
UART FIFO size |
config.infiniteUartSpeed |
uint8_t |
Set to 1 to enable immediate UARTs |
config.interrupt |
uint8_t |
Interrupt number |
config.littleEndian |
uint8_t |
Endianess of memory interface. |
control |
uint32_t |
UART control register |
data |
uint32_t |
UART data register |
irqCtrl |
temu_IfaceRef/ <unknown> |
Interrupt controller. |
pnp.bar |
uint32_t |
AMBA plug and play base address register |
pnp.config |
uint32_t |
AMBA plug and play config word |
rxFifo.data |
[uint8_t; 32] |
RX FIFO data |
rxFifo.size |
uint8_t |
RX size |
rxFifo.start |
uint8_t |
RX start index |
rxFifo.usage |
uint8_t |
RX usage |
scaler |
uint32_t |
UART scaler reload register |
status |
uint32_t |
UART status register |
tx |
temu_IfaceRef/ <unknown> |
Transmit target. |
txFifo.data |
[uint8_t; 32] |
TX FIFO data |
txFifo.size |
uint8_t |
TX size |
txFifo.start |
uint8_t |
TX start index |
txFifo.usage |
uint8_t |
TX usage |
txShift |
uint8_t |
UART shift register |
Interfaces
| Name | Type | Description |
|---|---|---|
ApbIface |
ApbIface |
AMBA plug and play interface. |
DeviceIface |
DeviceIface |
Device interface. |
MemAccessIface |
MemAccessIface |
Memory access interface. |
RegisterIface |
temu::RegisterIface |
Auto-generated Register Interface Impl. |
ResetIface |
ResetIface |
Reset interface. |
UartIface |
SerialIface |
Serial input interface. |
Registers
| Register support is currently experimental! |
Register Bank Regs
Register DATA
- Description
-
UART data register
- Reset value
-
0x00000000
- Warm reset mask
-
0x000000ff
| Field | Mask | Reset | Description |
|---|---|---|---|
DATA |
|
|
Receiver/Transmitter holding register or FIFO |
Register STAT
- Description
-
UART status register
- Reset value
-
0x00000006
- Warm reset mask
-
0xfff007ff
| Field | Mask | Reset | Description |
|---|---|---|---|
RCNT |
|
|
Receiver FIFO count |
TCNT |
|
|
Transmitter FIFO count |
RF |
|
|
Receiver FIFO full |
TF |
|
|
Transmitter FIFO full |
RH |
|
|
Receiver FIFO half-full |
TH |
|
|
Transmitter FIFO half-full |
FE |
|
|
Framing error |
PE |
|
|
Parity error |
OV |
|
|
Overrun |
BR |
|
|
Break received |
TE |
|
|
Transmitter FIFO empty |
TS |
|
|
Transmitter shift register empty |
DR |
|
|
Data Ready |
Register CTRL
- Description
-
UART control register
- Reset value
-
0x00000000
- Warm reset mask
-
0x8000ffff
| Field | Mask | Reset | Description |
|---|---|---|---|
FA |
|
|
FIFOs available |
NS |
|
|
Number of stop bits |
SI |
|
|
Transmitter shift register empty interrupt enable |
DI |
|
|
Delayed interrupt enable |
BI |
|
|
Break interrupt enable |
DB |
|
|
FIFO debug mode enable |
RF |
|
|
Receiver FIFO interrupt enable |
TF |
|
|
Transmitter FIFO interrupt enable |
EC |
|
|
External clock |
LB |
|
|
Loop back |
FL |
|
|
Flow control |
PE |
|
|
Parity enable |
PS |
|
|
Parity select |
TI |
|
|
Transmitter interrupt enable |
RI |
|
|
Receiver interrupt enable |
TE |
|
|
Transmitter enable |
RE |
|
|
Receiver enable |