NEORV32 Software Framework Documentation
The NEORV32 RISC-V Processor
|
Symmetric multiprocessing (SMP) library source file. More...
#include <neorv32.h>
Functions | |
int | neorv32_smp_launch (int(*entry_point)(void), uint8_t *stack_memory, size_t stack_size_bytes) |
void | neorv32_smp_icc_push (uint32_t data) |
uint32_t | neorv32_smp_icc_pop (void) |
Symmetric multiprocessing (SMP) library source file.
uint32_t neorv32_smp_icc_pop | ( | void | ) |
Get data from other core via ICC link (blocking).
void neorv32_smp_icc_push | ( | uint32_t | data | ) |
Send data to other core via ICC link (blocking).
[in] | data | Data word (32-bit) to be send to other core. |
int neorv32_smp_launch | ( | int(* | entry_point )(void), |
uint8_t * | stack_memory, | ||
size_t | stack_size_bytes ) |
Configure and start SMP core 1.
[in] | entry_point | Core1's main function; must be of type "int entry_point(void)". |
[in] | stack_memory | Pointer to beginning of core1's stack memory array. Should be at least 512 bytes. |
[in] | stack_size_bytes | Core1's stack size in bytes. |