![]() |
NEORV32 Software Framework Documentation
The NEORV32 RISC-V Processor
|
| ▼ sw | |
| ▼ bootloader | |
| bootloader.c | Default NEORV32 bootloader |
| ▼ example | |
| ► bus_explorer | |
| main.c | Interactive memory inspector |
| ► demo_blink_led | |
| main.c | Minimal blinking LED demo program using the lowest 8 bits of the GPIO.output port |
| ► demo_cfs | |
| main.c | Simple demo program for the default custom functions subsystem (CFS) module |
| ► demo_cfu | |
| main.c | Example program showing how to use the CFU's custom instructions (XTEA example) |
| ► demo_clint | |
| main.c | Simple core local interruptor (CLINT) usage example |
| ► demo_crc | |
| main.c | CRC demo program |
| ► demo_dma | |
| main.c | DMA demo program |
| ► demo_dual_core | |
| main.c | Simple dual-core SMP demo program |
| spinlock.c | Single simple spinlock based on atomic memory operations |
| spinlock.h | Single simple spin-lock based on atomic memory operations |
| ► demo_dual_core_icc | |
| main.c | Set up the second core to accept, and run, any function pointer pushed into its ICC FIFO. Push in a few pieces of code and get answers back. Shamelessly copied from (BSD-3-Clause license): https://github.com/raspberrypi/pico-examples/tree/master/multicore/multicore_runner |
| ► demo_dual_core_rte | |
| main.c | SMP dual-core program to show how to use the RTE on two cores. This example runs the same code on both cores and triggers the timer and software interrupts to showcase dual-core trap handling using the NEORV32 runtime environment (RTE) |
| spinlock.c | Single simple spinlock based on atomic memory operations |
| spinlock.h | Single simple spin-lock based on atomic memory operations |
| ► demo_emulate_unaligned | |
| main.c | Demo program for emulating unaligned memory accesses using the NEORV32 run-time environment (RTE) |
| ► demo_gpio | |
| main.c | GPIO input pins interrupt example |
| ► demo_gptmr | |
| main.c | Simple GPTMR timer-match interrupt example |
| ► demo_hpm | |
| main.c | Hardware performance monitor (HPM) example program |
| ► demo_neopixel | |
| main.c | NeoPixel (WS2812) interface demo using the processor's smart LED interface (NEOLED) |
| ► demo_newlib | |
| main.c | Demo/test program for NEORV32's newlib C standard library support |
| ► demo_onewire | |
| main.c | Demo program for the NEORV32 1-Wire interface controller (ONEWIRE) |
| onewire_aux.h | |
| ► demo_pwm | |
| main.c | Simple PWM demo program |
| ► demo_sdi | |
| main.c | SDI test program (direct access to the SDI module) |
| ► demo_slink | |
| main.c | SLINK demo program |
| ► demo_spi | |
| main.c | SPI bus explorer (execute SPI transactions by hand) |
| ► demo_spi_irq | |
| ► drv | |
| neorv32_spi_irq.c | Addition to neorv32_spi.c, which provides an IRQ driven data flow |
| neorv32_spi_irq.h | Addition to neorv32_spi.h, which provides an IRQ driven data flow |
| main.c | Example of an ISR driven SPI transfer |
| ► demo_trng | |
| main.c | True random number generator demo program |
| ► demo_twi | |
| main.c | TWI bus explorer |
| ► demo_wdt | |
| main.c | Watchdog demo program |
| ► demo_xip | |
| main.c | Interactive console program to upload and execute a XIP program |
| ► dhrystone | |
| dhry.h | |
| ► float_corner_test | |
| main.c | Verification program for the NEORV32 'Zfinx' extension (floating-point in x registers) using pseudo-random data as input; compares results from hardware against pure-sw reference functions |
| neorv32_zfinx_extension_intrinsics.h | |
| ► floating_point_test | |
| main.c | Verification program for the NEORV32 'Zfinx' extension (floating-point in x registers) using pseudo-random data as input; compares results from hardware against pure-sw reference functions |
| neorv32_zfinx_extension_intrinsics.h | "Intrinsic" library for the NEORV32 single-precision floating-point in x registers (Zfinx) extension |
| ► game_of_life | |
| main.c | Conway's game of life in a UART terminal |
| ► hello_world | |
| main.c | Classic 'hello world' demo program |
| ► processor_check | |
| main.c | CPU/Processor test/verification program |
| ▼ lib | |
| ► include | |
| neorv32.h | Main NEORV32 core library / driver / HAL include file |
| neorv32_aux.h | General auxiliary functions header file |
| neorv32_cfs.h | Custom Functions Subsystem (CFS) HW driver header file |
| neorv32_clint.h | Hardware Local Interruptor (CLINT) HW driver header file |
| neorv32_cpu.h | CPU Core Functions HW driver header file |
| neorv32_cpu_cfu.h | CPU Core custom functions unit HW driver header file |
| neorv32_cpu_csr.h | Control and Status Registers (CSR) definitions |
| neorv32_crc.h | Cyclic redundancy check unit (CRC) HW driver header file |
| neorv32_dma.h | Direct Memory Access Controller (DMA) HW driver header file |
| neorv32_gpio.h | General purpose input/output port unit (GPIO) HW driver header file |
| neorv32_gptmr.h | General purpose timer (GPTMR) HW driver header file |
| neorv32_intrinsics.h | Helper macros for custom "intrinsics" / instructions |
| neorv32_neoled.h | Smart LED Interface (NEOLED) HW driver header file |
| neorv32_onewire.h | 1-Wire Interface Controller (ONEWIRE) HW driver header file |
| neorv32_pwm.h | Pulse-Width Modulation Controller (PWM) HW driver header file |
| neorv32_rte.h | NEORV32 Runtime Environment |
| neorv32_sdi.h | Serial data interface controller (SPPI) HW driver header file |
| neorv32_slink.h | Stream Link Interface HW driver header file |
| neorv32_smp.h | Symmetric multiprocessing (SMP) library header file |
| neorv32_spi.h | Serial peripheral interface controller (SPI) HW driver header file |
| neorv32_sysinfo.h | System Information Memory (SYSINFO) HW driver header file |
| neorv32_trng.h | True Random Number Generator (TRNG) HW driver header file |
| neorv32_twd.h | Two-Wire Device Controller (TWD) HW driver header file |
| neorv32_twi.h | Two-Wire Interface Controller (TWI) HW driver header file |
| neorv32_uart.h | Universal asynchronous receiver/transmitter (UART0/UART1) HW driver header file |
| neorv32_wdt.h | Watchdog Timer (WDT) HW driver header file |
| neorv32_xip.h | Execute in place module (XIP) HW driver header file |
| ► source | |
| neorv32_aux.c | General auxiliary functions source file |
| neorv32_cfs.c | Custom Functions Subsystem (CFS) HW driver source file |
| neorv32_clint.c | Hardware Local Interruptor (CLINT) HW driver source file |
| neorv32_cpu.c | CPU Core Functions HW driver source file |
| neorv32_cpu_cfu.c | CPU Core custom functions unit HW driver source file |
| neorv32_crc.c | Cyclic redundancy check unit (CRC) HW driver source file |
| neorv32_gpio.c | General purpose input/output port unit (GPIO) HW driver source file. #include <neorv32.h> |
| neorv32_gptmr.c | General purpose timer (GPTMR) HW driver source file |
| neorv32_neoled.c | Smart LED Interface (NEOLED) HW driver source file |
| neorv32_newlib.c | NEORV32-specific Newlib system calls |
| neorv32_onewire.c | 1-Wire Interface Controller (ONEWIRE) HW driver source file |
| neorv32_pwm.c | Pulse-Width Modulation Controller (PWM) HW driver source file |
| neorv32_rte.c | NEORV32 Runtime Environment |
| neorv32_sdi.c | Serial data interface controller (SDI) HW driver source file |
| neorv32_slink.c | Stream Link Interface HW driver source file |
| neorv32_smp.c | Symmetric multiprocessing (SMP) library source file |
| neorv32_spi.c | Serial peripheral interface controller (SPI) HW driver source file |
| neorv32_trng.c | True Random Number Generator (TRNG) HW driver source file |
| neorv32_twd.c | Two-Wire Device Controller (TWD) HW driver source file |
| neorv32_twi.c | Two-Wire Interface Controller (TWI) HW driver source file |
| neorv32_uart.c | Universal asynchronous receiver/transmitter (UART0/UART1) HW driver source file |
| neorv32_wdt.c | Direct Memory Access Controller (DMA) HW driver source file |
| neorv32_xip.c | Execute in place module (XIP) HW driver source file |
