NEORV32 Software Framework Documentation
The NEORV32 RISC-V Processor
Loading...
Searching...
No Matches
neorv32.h File Reference

Main NEORV32 core library / driver / HAL include file. More...

#include <stdint.h>
#include <inttypes.h>
#include <unistd.h>
#include <stdlib.h>
#include "neorv32_intrinsics.h"
#include "neorv32_aux.h"
#include "neorv32_legacy.h"
#include "neorv32_cpu.h"
#include "neorv32_cpu_amo.h"
#include "neorv32_cpu_csr.h"
#include "neorv32_cpu_cfu.h"
#include "neorv32_rte.h"
#include "neorv32_cfs.h"
#include "neorv32_crc.h"
#include "neorv32_dma.h"
#include "neorv32_gpio.h"
#include "neorv32_gptmr.h"
#include "neorv32_mtime.h"
#include "neorv32_neoled.h"
#include "neorv32_onewire.h"
#include "neorv32_pwm.h"
#include "neorv32_sdi.h"
#include "neorv32_slink.h"
#include "neorv32_spi.h"
#include "neorv32_sysinfo.h"
#include "neorv32_trng.h"
#include "neorv32_twi.h"
#include "neorv32_uart.h"
#include "neorv32_wdt.h"
#include "neorv32_xip.h"
#include "neorv32_xirq.h"

Go to the source code of this file.

Data Structures

union  subwords64_t
 
union  subwords32_t
 
union  subwords16_t
 

Macros

Main Address Space Sections
#define XIP_MEM_BASE_ADDRESS   (0xE0000000U)
 
#define BOOTLOADER_BASE_ADDRESS   (0xFFFFC000U)
 
#define IO_BASE_ADDRESS   (0xFFFFE000U)
 
IO Address Space Map - Peripheral/IO Devices
#define NEORV32_CFS_BASE   (0xFFFFEB00U)
 
#define NEORV32_SLINK_BASE   (0xFFFFEC00U)
 
#define NEORV32_DMA_BASE   (0xFFFFED00U)
 
#define NEORV32_CRC_BASE   (0xFFFFEE00U)
 
#define NEORV32_XIP_BASE   (0xFFFFEF00U)
 
#define NEORV32_PWM_BASE   (0xFFFFF000U)
 
#define NEORV32_GPTMR_BASE   (0xFFFFF100U)
 
#define NEORV32_ONEWIRE_BASE   (0xFFFFF200U)
 
#define NEORV32_XIRQ_BASE   (0xFFFFF300U)
 
#define NEORV32_MTIME_BASE   (0xFFFFF400U)
 
#define NEORV32_UART0_BASE   (0xFFFFF500U)
 
#define NEORV32_UART1_BASE   (0xFFFFF600U)
 
#define NEORV32_SDI_BASE   (0xFFFFF700U)
 
#define NEORV32_SPI_BASE   (0xFFFFF800U)
 
#define NEORV32_TWI_BASE   (0xFFFFF900U)
 
#define NEORV32_TRNG_BASE   (0xFFFFFA00U)
 
#define NEORV32_WDT_BASE   (0xFFFFFB00U)
 
#define NEORV32_GPIO_BASE   (0xFFFFFC00U)
 
#define NEORV32_NEOLED_BASE   (0xFFFFFD00U)
 
#define NEORV32_SYSINFO_BASE   (0xFFFFFE00U)
 
#define NEORV32_DM_BASE   (0xFFFFFF00U)
 
True-Random Number Generator (TRNG)
#define TRNG_FIRQ_ENABLE   CSR_MIE_FIRQ0E
 
#define TRNG_FIRQ_PENDING   CSR_MIP_FIRQ0P
 
#define TRNG_RTE_ID   RTE_TRAP_FIRQ_0
 
#define TRNG_TRAP_CODE   TRAP_CODE_FIRQ_0
 
Custom Functions Subsystem (CFS)
#define CFS_FIRQ_ENABLE   CSR_MIE_FIRQ1E
 
#define CFS_FIRQ_PENDING   CSR_MIP_FIRQ1P
 
#define CFS_RTE_ID   RTE_TRAP_FIRQ_1
 
#define CFS_TRAP_CODE   TRAP_CODE_FIRQ_1
 
Primary Universal Asynchronous Receiver/Transmitter (UART0)
#define UART0_RX_FIRQ_ENABLE   CSR_MIE_FIRQ2E
 
#define UART0_RX_FIRQ_PENDING   CSR_MIP_FIRQ2P
 
#define UART0_RX_RTE_ID   RTE_TRAP_FIRQ_2
 
#define UART0_RX_TRAP_CODE   TRAP_CODE_FIRQ_2
 
#define UART0_TX_FIRQ_ENABLE   CSR_MIE_FIRQ3E
 
#define UART0_TX_FIRQ_PENDING   CSR_MIP_FIRQ3P
 
#define UART0_TX_RTE_ID   RTE_TRAP_FIRQ_3
 
#define UART0_TX_TRAP_CODE   TRAP_CODE_FIRQ_3
 
Secondary Universal Asynchronous Receiver/Transmitter (UART1)
#define UART1_RX_FIRQ_ENABLE   CSR_MIE_FIRQ4E
 
#define UART1_RX_FIRQ_PENDING   CSR_MIP_FIRQ4P
 
#define UART1_RX_RTE_ID   RTE_TRAP_FIRQ_4
 
#define UART1_RX_TRAP_CODE   TRAP_CODE_FIRQ_4
 
#define UART1_TX_FIRQ_ENABLE   CSR_MIE_FIRQ5E
 
#define UART1_TX_FIRQ_PENDING   CSR_MIP_FIRQ5P
 
#define UART1_TX_RTE_ID   RTE_TRAP_FIRQ_5
 
#define UART1_TX_TRAP_CODE   TRAP_CODE_FIRQ_5
 
Serial Peripheral Interface (SPI)
#define SPI_FIRQ_ENABLE   CSR_MIE_FIRQ6E
 
#define SPI_FIRQ_PENDING   CSR_MIP_FIRQ6P
 
#define SPI_RTE_ID   RTE_TRAP_FIRQ_6
 
#define SPI_TRAP_CODE   TRAP_CODE_FIRQ_6
 
Two-Wire Interface (TWI)
#define TWI_FIRQ_ENABLE   CSR_MIE_FIRQ7E
 
#define TWI_FIRQ_PENDING   CSR_MIP_FIRQ7P
 
#define TWI_RTE_ID   RTE_TRAP_FIRQ_7
 
#define TWI_TRAP_CODE   TRAP_CODE_FIRQ_7
 
External Interrupt Controller (XIRQ)
#define XIRQ_FIRQ_ENABLE   CSR_MIE_FIRQ8E
 
#define XIRQ_FIRQ_PENDING   CSR_MIP_FIRQ8P
 
#define XIRQ_RTE_ID   RTE_TRAP_FIRQ_8
 
#define XIRQ_TRAP_CODE   TRAP_CODE_FIRQ_8
 
Smart LED Controller (NEOLED)
#define NEOLED_FIRQ_ENABLE   CSR_MIE_FIRQ9E
 
#define NEOLED_FIRQ_PENDING   CSR_MIP_FIRQ9P
 
#define NEOLED_RTE_ID   RTE_TRAP_FIRQ_9
 
#define NEOLED_TRAP_CODE   TRAP_CODE_FIRQ_9
 
Direct Memory Access Controller (DMA)
#define DMA_FIRQ_ENABLE   CSR_MIE_FIRQ10E
 
#define DMA_FIRQ_PENDING   CSR_MIP_FIRQ10P
 
#define DMA_RTE_ID   RTE_TRAP_FIRQ_10
 
#define DMA_TRAP_CODE   TRAP_CODE_FIRQ_10
 
Serial Data Interface (SDI)
#define SDI_FIRQ_ENABLE   CSR_MIE_FIRQ11E
 
#define SDI_FIRQ_PENDING   CSR_MIP_FIRQ11P
 
#define SDI_RTE_ID   RTE_TRAP_FIRQ_11
 
#define SDI_TRAP_CODE   TRAP_CODE_FIRQ_11
 
General Purpose Timer (GPTMR)
#define GPTMR_FIRQ_ENABLE   CSR_MIE_FIRQ12E
 
#define GPTMR_FIRQ_PENDING   CSR_MIP_FIRQ12P
 
#define GPTMR_RTE_ID   RTE_TRAP_FIRQ_12
 
#define GPTMR_TRAP_CODE   TRAP_CODE_FIRQ_12
 
1-Wire Interface Controller (ONEWIRE)
#define ONEWIRE_FIRQ_ENABLE   CSR_MIE_FIRQ13E
 
#define ONEWIRE_FIRQ_PENDING   CSR_MIP_FIRQ13P
 
#define ONEWIRE_RTE_ID   RTE_TRAP_FIRQ_13
 
#define ONEWIRE_TRAP_CODE   TRAP_CODE_FIRQ_13
 
Stream Link Interface (SLINK)
#define SLINK_RX_FIRQ_ENABLE   CSR_MIE_FIRQ14E
 
#define SLINK_RX_FIRQ_PENDING   CSR_MIP_FIRQ14P
 
#define SLINK_RX_RTE_ID   RTE_TRAP_FIRQ_14
 
#define SLINK_RX_TRAP_CODE   TRAP_CODE_FIRQ_14
 
#define SLINK_TX_FIRQ_ENABLE   CSR_MIE_FIRQ15E
 
#define SLINK_TX_FIRQ_PENDING   CSR_MIP_FIRQ15P
 
#define SLINK_TX_RTE_ID   RTE_TRAP_FIRQ_15
 
#define SLINK_TX_TRAP_CODE   TRAP_CODE_FIRQ_15
 

Enumerations

enum  NEORV32_CLOCK_PRSC_enum {
  CLK_PRSC_2 = 0 , CLK_PRSC_4 = 1 , CLK_PRSC_8 = 2 , CLK_PRSC_64 = 3 ,
  CLK_PRSC_128 = 4 , CLK_PRSC_1024 = 5 , CLK_PRSC_2048 = 6 , CLK_PRSC_4096 = 7
}
 

Export linker script symbols

#define neorv32_heap_begin_c   ((uint32_t)&__heap_start[0])
 
#define neorv32_heap_end_c   ((uint32_t)&__heap_end[0])
 
#define neorv32_heap_size_c   ((uint32_t)&__crt0_max_heap[0])
 
char __heap_start []
 
char __heap_end []
 
char __crt0_max_heap []
 

Detailed Description

Main NEORV32 core library / driver / HAL include file.

See also
https://stnolting.github.io/neorv32/sw/files.html

Macro Definition Documentation

◆ BOOTLOADER_BASE_ADDRESS

#define BOOTLOADER_BASE_ADDRESS   (0xFFFFC000U)

bootloader memory base address

◆ CFS_FIRQ_ENABLE

#define CFS_FIRQ_ENABLE   CSR_MIE_FIRQ1E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ CFS_FIRQ_PENDING

#define CFS_FIRQ_PENDING   CSR_MIP_FIRQ1P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ CFS_RTE_ID

#define CFS_RTE_ID   RTE_TRAP_FIRQ_1

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ CFS_TRAP_CODE

#define CFS_TRAP_CODE   TRAP_CODE_FIRQ_1

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

◆ DMA_FIRQ_ENABLE

#define DMA_FIRQ_ENABLE   CSR_MIE_FIRQ10E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ DMA_FIRQ_PENDING

#define DMA_FIRQ_PENDING   CSR_MIP_FIRQ10P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ DMA_RTE_ID

#define DMA_RTE_ID   RTE_TRAP_FIRQ_10

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ DMA_TRAP_CODE

#define DMA_TRAP_CODE   TRAP_CODE_FIRQ_10

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

◆ GPTMR_FIRQ_ENABLE

#define GPTMR_FIRQ_ENABLE   CSR_MIE_FIRQ12E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ GPTMR_FIRQ_PENDING

#define GPTMR_FIRQ_PENDING   CSR_MIP_FIRQ12P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ GPTMR_RTE_ID

#define GPTMR_RTE_ID   RTE_TRAP_FIRQ_12

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ GPTMR_TRAP_CODE

#define GPTMR_TRAP_CODE   TRAP_CODE_FIRQ_12

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

◆ IO_BASE_ADDRESS

#define IO_BASE_ADDRESS   (0xFFFFE000U)

peripheral/IO devices memory base address

◆ NEOLED_FIRQ_ENABLE

#define NEOLED_FIRQ_ENABLE   CSR_MIE_FIRQ9E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ NEOLED_FIRQ_PENDING

#define NEOLED_FIRQ_PENDING   CSR_MIP_FIRQ9P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ NEOLED_RTE_ID

#define NEOLED_RTE_ID   RTE_TRAP_FIRQ_9

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ NEOLED_TRAP_CODE

#define NEOLED_TRAP_CODE   TRAP_CODE_FIRQ_9

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

◆ NEORV32_CFS_BASE

#define NEORV32_CFS_BASE   (0xFFFFEB00U)

Custom Functions Subsystem (CFS)

◆ NEORV32_CRC_BASE

#define NEORV32_CRC_BASE   (0xFFFFEE00U)

Cyclic Redundancy Check Unit (DMA)

◆ NEORV32_DM_BASE

#define NEORV32_DM_BASE   (0xFFFFFF00U)

On-Chip Debugger - Debug Module (OCD)

◆ NEORV32_DMA_BASE

#define NEORV32_DMA_BASE   (0xFFFFED00U)

Direct Memory Access Controller (DMA)

◆ NEORV32_GPIO_BASE

#define NEORV32_GPIO_BASE   (0xFFFFFC00U)

General Purpose Input/Output Port Controller (GPIO)

◆ NEORV32_GPTMR_BASE

#define NEORV32_GPTMR_BASE   (0xFFFFF100U)

General Purpose Timer (GPTMR)

◆ neorv32_heap_begin_c

#define neorv32_heap_begin_c   ((uint32_t)&__heap_start[0])

heap start address

◆ neorv32_heap_end_c

#define neorv32_heap_end_c   ((uint32_t)&__heap_end[0])

heap start address

◆ neorv32_heap_size_c

#define neorv32_heap_size_c   ((uint32_t)&__crt0_max_heap[0])

heap start address

◆ NEORV32_MTIME_BASE

#define NEORV32_MTIME_BASE   (0xFFFFF400U)

Machine System Timer (MTIME)

◆ NEORV32_NEOLED_BASE

#define NEORV32_NEOLED_BASE   (0xFFFFFD00U)

Smart LED Hardware Interface (NEOLED)

◆ NEORV32_ONEWIRE_BASE

#define NEORV32_ONEWIRE_BASE   (0xFFFFF200U)

1-Wire Interface Controller (ONEWIRE)

◆ NEORV32_PWM_BASE

#define NEORV32_PWM_BASE   (0xFFFFF000U)

Pulse Width Modulation Controller (PWM)

◆ NEORV32_SDI_BASE

#define NEORV32_SDI_BASE   (0xFFFFF700U)

Serial Data Interface (SDI)

◆ NEORV32_SLINK_BASE

#define NEORV32_SLINK_BASE   (0xFFFFEC00U)

Stream Link Interface (SLINK)

◆ NEORV32_SPI_BASE

#define NEORV32_SPI_BASE   (0xFFFFF800U)

Serial Peripheral Interface Controller (SPI)

◆ NEORV32_SYSINFO_BASE

#define NEORV32_SYSINFO_BASE   (0xFFFFFE00U)

System Information Memory (SYSINFO)

◆ NEORV32_TRNG_BASE

#define NEORV32_TRNG_BASE   (0xFFFFFA00U)

True Random Number Generator (TRNG)

◆ NEORV32_TWI_BASE

#define NEORV32_TWI_BASE   (0xFFFFF900U)

Two-Wire Interface Controller (TWI)

◆ NEORV32_UART0_BASE

#define NEORV32_UART0_BASE   (0xFFFFF500U)

Primary Universal Asynchronous Receiver and Transmitter (UART0)

◆ NEORV32_UART1_BASE

#define NEORV32_UART1_BASE   (0xFFFFF600U)

Secondary Universal Asynchronous Receiver and Transmitter (UART1)

◆ NEORV32_WDT_BASE

#define NEORV32_WDT_BASE   (0xFFFFFB00U)

Watchdog Timer (WDT)

◆ NEORV32_XIP_BASE

#define NEORV32_XIP_BASE   (0xFFFFEF00U)

Execute In Place Module (XIP)

◆ NEORV32_XIRQ_BASE

#define NEORV32_XIRQ_BASE   (0xFFFFF300U)

External Interrupt Controller (XIRQ)

◆ ONEWIRE_FIRQ_ENABLE

#define ONEWIRE_FIRQ_ENABLE   CSR_MIE_FIRQ13E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ ONEWIRE_FIRQ_PENDING

#define ONEWIRE_FIRQ_PENDING   CSR_MIP_FIRQ13P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ ONEWIRE_RTE_ID

#define ONEWIRE_RTE_ID   RTE_TRAP_FIRQ_13

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ ONEWIRE_TRAP_CODE

#define ONEWIRE_TRAP_CODE   TRAP_CODE_FIRQ_13

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

◆ SDI_FIRQ_ENABLE

#define SDI_FIRQ_ENABLE   CSR_MIE_FIRQ11E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ SDI_FIRQ_PENDING

#define SDI_FIRQ_PENDING   CSR_MIP_FIRQ11P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ SDI_RTE_ID

#define SDI_RTE_ID   RTE_TRAP_FIRQ_11

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ SDI_TRAP_CODE

#define SDI_TRAP_CODE   TRAP_CODE_FIRQ_11

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

◆ SLINK_RX_FIRQ_ENABLE

#define SLINK_RX_FIRQ_ENABLE   CSR_MIE_FIRQ14E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ SLINK_RX_FIRQ_PENDING

#define SLINK_RX_FIRQ_PENDING   CSR_MIP_FIRQ14P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ SLINK_RX_RTE_ID

#define SLINK_RX_RTE_ID   RTE_TRAP_FIRQ_14

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ SLINK_RX_TRAP_CODE

#define SLINK_RX_TRAP_CODE   TRAP_CODE_FIRQ_14

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

◆ SLINK_TX_FIRQ_ENABLE

#define SLINK_TX_FIRQ_ENABLE   CSR_MIE_FIRQ15E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ SLINK_TX_FIRQ_PENDING

#define SLINK_TX_FIRQ_PENDING   CSR_MIP_FIRQ15P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ SLINK_TX_RTE_ID

#define SLINK_TX_RTE_ID   RTE_TRAP_FIRQ_15

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ SLINK_TX_TRAP_CODE

#define SLINK_TX_TRAP_CODE   TRAP_CODE_FIRQ_15

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

◆ SPI_FIRQ_ENABLE

#define SPI_FIRQ_ENABLE   CSR_MIE_FIRQ6E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ SPI_FIRQ_PENDING

#define SPI_FIRQ_PENDING   CSR_MIP_FIRQ6P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ SPI_RTE_ID

#define SPI_RTE_ID   RTE_TRAP_FIRQ_6

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ SPI_TRAP_CODE

#define SPI_TRAP_CODE   TRAP_CODE_FIRQ_6

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

◆ TRNG_FIRQ_ENABLE

#define TRNG_FIRQ_ENABLE   CSR_MIE_FIRQ0E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ TRNG_FIRQ_PENDING

#define TRNG_FIRQ_PENDING   CSR_MIP_FIRQ0P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ TRNG_RTE_ID

#define TRNG_RTE_ID   RTE_TRAP_FIRQ_0

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ TRNG_TRAP_CODE

#define TRNG_TRAP_CODE   TRAP_CODE_FIRQ_0

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

◆ TWI_FIRQ_ENABLE

#define TWI_FIRQ_ENABLE   CSR_MIE_FIRQ7E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ TWI_FIRQ_PENDING

#define TWI_FIRQ_PENDING   CSR_MIP_FIRQ7P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ TWI_RTE_ID

#define TWI_RTE_ID   RTE_TRAP_FIRQ_7

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ TWI_TRAP_CODE

#define TWI_TRAP_CODE   TRAP_CODE_FIRQ_7

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

◆ UART0_RX_FIRQ_ENABLE

#define UART0_RX_FIRQ_ENABLE   CSR_MIE_FIRQ2E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ UART0_RX_FIRQ_PENDING

#define UART0_RX_FIRQ_PENDING   CSR_MIP_FIRQ2P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ UART0_RX_RTE_ID

#define UART0_RX_RTE_ID   RTE_TRAP_FIRQ_2

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ UART0_RX_TRAP_CODE

#define UART0_RX_TRAP_CODE   TRAP_CODE_FIRQ_2

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

◆ UART0_TX_FIRQ_ENABLE

#define UART0_TX_FIRQ_ENABLE   CSR_MIE_FIRQ3E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ UART0_TX_FIRQ_PENDING

#define UART0_TX_FIRQ_PENDING   CSR_MIP_FIRQ3P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ UART0_TX_RTE_ID

#define UART0_TX_RTE_ID   RTE_TRAP_FIRQ_3

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ UART0_TX_TRAP_CODE

#define UART0_TX_TRAP_CODE   TRAP_CODE_FIRQ_3

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

◆ UART1_RX_FIRQ_ENABLE

#define UART1_RX_FIRQ_ENABLE   CSR_MIE_FIRQ4E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ UART1_RX_FIRQ_PENDING

#define UART1_RX_FIRQ_PENDING   CSR_MIP_FIRQ4P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ UART1_RX_RTE_ID

#define UART1_RX_RTE_ID   RTE_TRAP_FIRQ_4

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ UART1_RX_TRAP_CODE

#define UART1_RX_TRAP_CODE   TRAP_CODE_FIRQ_4

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

◆ UART1_TX_FIRQ_ENABLE

#define UART1_TX_FIRQ_ENABLE   CSR_MIE_FIRQ5E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ UART1_TX_FIRQ_PENDING

#define UART1_TX_FIRQ_PENDING   CSR_MIP_FIRQ5P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ UART1_TX_RTE_ID

#define UART1_TX_RTE_ID   RTE_TRAP_FIRQ_5

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ UART1_TX_TRAP_CODE

#define UART1_TX_TRAP_CODE   TRAP_CODE_FIRQ_5

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

◆ XIP_MEM_BASE_ADDRESS

#define XIP_MEM_BASE_ADDRESS   (0xE0000000U)

XIP-mapped memory base address

◆ XIRQ_FIRQ_ENABLE

#define XIRQ_FIRQ_ENABLE   CSR_MIE_FIRQ8E

MIE CSR bit (NEORV32_CSR_MIE_enum)

◆ XIRQ_FIRQ_PENDING

#define XIRQ_FIRQ_PENDING   CSR_MIP_FIRQ8P

MIP CSR bit (NEORV32_CSR_MIP_enum)

◆ XIRQ_RTE_ID

#define XIRQ_RTE_ID   RTE_TRAP_FIRQ_8

RTE entry code (NEORV32_RTE_TRAP_enum)

◆ XIRQ_TRAP_CODE

#define XIRQ_TRAP_CODE   TRAP_CODE_FIRQ_8

MCAUSE CSR trap code (NEORV32_EXCEPTION_CODES_enum)

Enumeration Type Documentation

◆ NEORV32_CLOCK_PRSC_enum

Processor clock prescaler select (relative to processor's main clock)

Enumerator
CLK_PRSC_2 

CPU_CLK / 2

CLK_PRSC_4 

CPU_CLK / 4

CLK_PRSC_8 

CPU_CLK / 8

CLK_PRSC_64 

CPU_CLK / 64

CLK_PRSC_128 

CPU_CLK / 128

CLK_PRSC_1024 

CPU_CLK / 1024

CLK_PRSC_2048 

CPU_CLK / 2048

CLK_PRSC_4096 

CPU_CLK / 4096

Variable Documentation

◆ __crt0_max_heap

char __crt0_max_heap[]
extern

heap size in bytes

◆ __heap_end

char __heap_end[]
extern

heap last address

◆ __heap_start

char __heap_start[]
extern

heap start address