FreeRTOS port on GAP8/RISC-V
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gap9/src/driver/gap_io.c File Reference

Macros

#define PRINTF_BUFFER_SIZE
 
#define PRINTF_TAS_L1
 
#define PRINTF_TAS_L2_OFFSET
 
#define PRINTF_TAS_L1_OFFSET
 
#define PRINTF_LOCK_IRQN
 

Functions

static uint32_t __tas_addr_lock (uint32_t addr, uint32_t offset)
 
static void __tas_addr_unlock (uint32_t addr)
 
static uint32_t __tas_lock ()
 
static void __tas_unlock ()
 
static uint32_t __is_irq_mode ()
 
 __attribute__ ((noinline))
 
static void tfp_putc (void *data, char c)
 
void _putchar (char character)
 
int puts (const char *s)
 
void system_exit_printf_flush ()
 Flush printf buffer before exit. More...
 

Variables

uint8_t g_freertos_scheduler_started
 
SemaphoreHandle_t g_printf_mutex
 
char __printf_lock_ptr_l2
 

Macro Definition Documentation

#define PRINTF_BUFFER_SIZE
#define PRINTF_LOCK_IRQN

Referenced by __attribute__().

#define PRINTF_TAS_L1
#define PRINTF_TAS_L1_OFFSET

Referenced by __tas_lock().

#define PRINTF_TAS_L2_OFFSET

Referenced by __tas_lock().

Function Documentation

static uint32_t __is_irq_mode ( )
static

References MCAUSE_IRQ_Msk.

Referenced by __attribute__().

static uint32_t __tas_addr_lock ( uint32_t  addr,
uint32_t  offset 
)
inlinestatic
static void __tas_addr_unlock ( uint32_t  addr)
inlinestatic

Referenced by __tas_unlock().

static uint32_t __tas_lock ( )
inlinestatic
static void __tas_unlock ( )
inlinestatic
void _putchar ( char  character)

Output a character to a custom device like UART, used by the printf() function This function is declared here only. You have to write your custom implementation somewhere

Parameters
characterCharacter to output

References printf_buffer, printf_idx, and tfp_putc().

int puts ( const char *  s)

References __io_lock(), __io_unlock(), c, and tfp_putc().

static void tfp_putc ( void *  data,
char  c 
)
static

References g_freertos_scheduler_started.

Referenced by _putchar(), and puts().

Variable Documentation

char __printf_lock_ptr_l2

Referenced by __tas_lock(), and __tas_unlock().

uint8_t g_freertos_scheduler_started
SemaphoreHandle_t g_printf_mutex