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

Functions

void system_init (void)
 Setup the microcontroller system. More...
 
void system_setup_systick (uint32_t tick_rate_hz)
 Setup timer used for SysTick. More...
 
void system_core_clock_update (uint32_t new_freq)
 Update the SystemCoreClock variable. More...
 
uint32_t system_core_clock_get (void)
 Get current SystemCoreClock value. More...
 
void system_usermode_entry (void *arg)
 Prologue for usermode thread. More...
 
void system_exit (int32_t code)
 Stop execution. More...
 

Variables

char __heapfcram_start
 
char __heapfcram_size
 
char __heapl2ram_start
 
char __heapl2ram_size
 
volatile uint32_t SystemCoreClock
 System clock frequency (core clock) More...
 
static volatile uint32_t tick_rate
 

Function Documentation

uint32_t system_core_clock_get ( void  )
Returns
Current core frequency.
void system_core_clock_update ( uint32_t  new_freq)

It must be called whenever the CPU frequency is changed during execution. This function updates SystemCoreClock variable according to current CPU frequency.

Parameters
new_freqNew SoC frequence.
void system_exit ( int32_t  code)

This function is called to stop an execution and stop the microcontroller.

void system_init ( void  )

This function configures the oscillator (FLL), setup caches and IRQ. It also initializes malloc functions. this function should be called from startup_device file.

void system_setup_systick ( uint32_t  tick_rate_hz)

This function sets up low timer for a given tick rate.

Parameters
tick_rate_hzTick rate of SysTick timer.
void system_usermode_entry ( void *  arg)

This function is called at the beginig of user threads. It harvest arguments to launch the user thread, free temp structs and drop privileges before executing the actual user thread.

Variable Documentation

char __heapfcram_size

Referenced by system_init().

char __heapfcram_start

Referenced by system_init().

char __heapl2ram_size

Referenced by system_init().

char __heapl2ram_start

Referenced by system_init().

volatile uint32_t SystemCoreClock

The system clock frequency supplied to the SysTick timer and the processor core clock. This variable can be used by the user application to setup the SysTick timer or configure other parameters. It may also be used by debugger to query the frequency of the debug timer or configure the trace clock speed SystemCoreClock is initialized with a correct predefined value.

volatile uint32_t tick_rate
static