RV32 SoC DS UG
High-Perf RV32 SoC DS UG
RV64 SoC DS UG API and Examples
Embedded IDE UG
Loading...
Searching...
No Matches
bsp.h File Reference
#include "boards/rv64_platform.h"
#include "clint/clint.h"
#include "uart/uart.h"
#include "debug.h"
#include "soc.h"

Go to the source code of this file.

Overview

Board Support Package API definitions.

Author
Efinix Inc

This file provides default hardware mappings and initialization for the EfxSapphireSoC platform. It includes configurations for the primary UART, CLINT timer, and PLIC interrupt controller.

Definition in file bsp.h.

Macros

#define BSP_PLIC   SYSTEM_PLIC_CTRL
 Primary PLIC controller base address.
#define BSP_PLIC_CPU_0   SYSTEM_PLIC_CPU_0_MEI
 Primary PLIC CPU 0 External Interrupt base address.
#define BSP_CLINT   SYSTEM_CLINT_CTRL
 Primary CLINT controller base address.
#define BSP_CLINT_HZ   SYSTEM_CLINT_HZ
 Primary CLINT controller clock frequency.
#define BSP_UART_BAUDRATE   115200
 Default UART baudrate.
#define BSP_UART_DATA_LEN   8
 Default UART data length (bits).
#define ENABLE_SEMIHOSTING_PRINT   0
 Enable printing with semihosting, Disabled by default.
#define BSP_UART_TERMINAL   SYSTEM_UART_0_IO_CTRL
 Physical UART base address for standard I/O mapping.
#define bsp_uDelay(usec)
 Microsecond delay function using CLINT timer.
#define bsp_putChar(c)
 Map standard character output to the physical UART.
#define bsp_getChar()
 Map standard character input to the physical UART.
Printf Module Selection

Printf Wrapper Helper, ignore it.

Toggle between the Lite and Full printf implementations.

#define ENABLE_BSP_PRINTF   1
 (Lite) Supports char, string, decimal, hex, floats. Moderate memory footprint.
#define ENABLE_BSP_PRINTF_FULL   1
 (Full) Full support including flags and precisions. Larger memory footprint.
#define ENABLE_BRIDGE_FULL_TO_LITE   1
 Enable function sharing between 'full' and 'lite' printing modules.
#define ENABLE_PRINTF_WARNING   1
 Print a warning message when a format specifier is not supported.
Extended Format Specifier Support

Enable specific data types (Costs extra memory).

#define ENABLE_FLOATING_POINT_SUPPORT   0
 Support for f (Printing only).
#define ENABLE_FP_EXPONENTIAL_SUPPORT   0
 Support for e / E.
#define ENABLE_PTRDIFF_SUPPORT   0
 Support for t (Pointer differences).
#define ENABLE_LONG_LONG_SUPPORT   1
 Support for lld / llu.

Functions

void bsp_init ()
 Initialize Board Support Package Peripherals.

Variables

uart_instance_t uart0
 Primary UART instance for standard I/O mapping.