@web-font-path: "roboto-debian.css";
v2.2.0 (RP2040)
Loading...
Searching...
No Matches
multicore.h File Reference
`#include "pico/types.h"`
`#include "pico/sync.h"`
`#include "hardware/structs/sio.h"`
Include dependency graph for multicore.h:

Go to the source code of this file.

## Macros

#define | PARAM_ASSERTIONS_ENABLED_PICO_MULTICORE 0
#define | PICO_CORE1_STACK_SIZE 0x800
#define | SIO_FIFO_IRQ_NUM(core)
| Returns the irq_num_t for the FIFO IRQ on the given core.

## Functions

void | multicore_reset_core1 (void)
| Reset core 1.
void | multicore_launch_core1 (void(*entry)(void))
| Run code on core 1.
void | multicore_launch_core1_with_stack (void(*entry)(void), uint32_t *stack_bottom, size_t stack_size_bytes)
| Launch code on core 1 with stack.
void | multicore_launch_core1_raw (void(*entry)(void), uint32_t *sp, uint32_t vector_table)
| Launch code on core 1 with no stack protection.
static bool | multicore_fifo_rvalid (void)
| Check the read FIFO to see if there is data available (sent by the other core).
static bool | multicore_fifo_wready (void)
| Check the write FIFO to see if it has space for more data.
void | multicore_fifo_push_blocking (uint32_t data)
| Push data on to the write FIFO (data to the other core).
static void | multicore_fifo_push_blocking_inline (uint32_t data)
| Push data on to the write FIFO (data to the other core).
bool | multicore_fifo_push_timeout_us (uint32_t data, uint64_t timeout_us)
| Push data on to the write FIFO (data to the other core) with timeout.
uint32_t | multicore_fifo_pop_blocking (void)
| Pop data from the read FIFO (data from the other core).
static uint32_t | multicore_fifo_pop_blocking_inline (void)
| Pop data from the read FIFO (data from the other core).
bool | multicore_fifo_pop_timeout_us (uint64_t timeout_us, uint32_t *out)
| Pop data from the read FIFO (data from the other core) with timeout.
static void | multicore_fifo_drain (void)
| Discard any data in the read FIFO.
static void | multicore_fifo_clear_irq (void)
| Clear FIFO interrupt.
static uint32_t | multicore_fifo_get_status (void)
| Get FIFO statuses.
void | multicore_lockout_victim_init (void)
| Initialize the current core such that it can be a "victim" of lockout (i.e. forced to pause in a known state by the other core).
void | multicore_lockout_victim_deinit (void)
| Stop the current core being able to be a "victim" of lockout (i.e. forced to pause in a known state by the other core).
bool | multicore_lockout_victim_is_initialized (uint core_num)
| Determine if multicore_lockout_victim_init() has been called on the specified core.
void | multicore_lockout_start_blocking (void)
| Request the other core to pause in a known state and wait for it to do so.
bool | multicore_lockout_start_timeout_us (uint64_t timeout_us)
| Request the other core to pause in a known state and wait up to a time limit for it to do so.
void | multicore_lockout_end_blocking (void)
| Release the other core from a locked out state.
bool | multicore_lockout_end_timeout_us (uint64_t timeout_us)
| Release the other core from a locked out state.