20#include "boards/rv64_platform.h"
50 #define BSP_PLIC SYSTEM_PLIC_CTRL
51 #define BSP_PLIC_CPU_0 SYSTEM_PLIC_CPU_0_MEI
52 #define BSP_CLINT SYSTEM_CLINT_CTRL
53 #define BSP_CLINT_HZ SYSTEM_CLINT_HZ
54 #define BSP_UART_BAUDRATE 115200
55 #define BSP_UART_DATA_LEN 8
56 #define ENABLE_SEMIHOSTING_PRINT 0
58 #if (SYSTEM_UART_0_IO_CTRL || defined(__DOXYGEN__))
61 #define BSP_UART_TERMINAL SYSTEM_UART_0_IO_CTRL
64 #define BSP_UART_TERMINAL 0
84 #define bsp_uDelay(usec) clint_uDelay(usec, SYSTEM_CLINT_HZ)
86 #if (SYSTEM_UART_0_IO_CTRL || defined(__DOXYGEN__))
95 #define bsp_putChar(c) uart_write(&uart0, c)
103 #define bsp_getChar() uart_read(&uart0)
106 #define bsp_putChar(c) ((void)0)
107 #define bsp_getChar() (0)
115 #if (ENABLE_SEMIHOSTING_PRINT == 1)
139 static int bsp_printf(
const char *format, ...);
145 #define printf(...) (bsp_printf(__VA_ARGS__))
154 #define ENABLE_BSP_PRINTF 1
157 #define ENABLE_BSP_PRINTF_FULL 1
160 #define ENABLE_BRIDGE_FULL_TO_LITE 1
163 #define ENABLE_PRINTF_WARNING 1
171 #define ENABLE_FLOATING_POINT_SUPPORT 0
172 #define ENABLE_FP_EXPONENTIAL_SUPPORT 0
173 #define ENABLE_PTRDIFF_SUPPORT 0
174 #define ENABLE_LONG_LONG_SUPPORT 1
182 #if (ENABLE_BSP_PRINTF)
186 #if (ENABLE_BSP_PRINTF_FULL)
188 #if (!ENABLE_FLOATING_POINT_SUPPORT)
189 #define PRINTF_DISABLE_SUPPORT_FLOAT 1
192 #if (!ENABLE_FP_EXPONENTIAL_SUPPORT)
193 #define PRINTF_DISABLE_SUPPORT_EXPONENTIAL 1
196 #if (!ENABLE_PTRDIFF_SUPPORT)
197 #define PRINTF_DISABLE_SUPPORT_PTRDIFF_T 1
200 #if (!ENABLE_LONG_LONG_SUPPORT)
201 #define PRINTF_DISABLE_SUPPORT_LONG_LONG 1
204 #if (ENABLE_BRIDGE_FULL_TO_LITE)
205 #if (!ENABLE_BSP_PRINTF)
206 #define bsp_printf bsp_printf_full
CLINT driver API definitions.
Debug, logging, and assertion API.
void bsp_init()
Initialize Board Support Package Peripherals.
uart_instance_t uart0
Primary UART instance for standard I/O mapping.
UART instance. Holds the software registers and hardware pointer.
UART driver API definitions.