Initial Release
This commit is contained in:
8
src/host/pico_multicore/CMakeLists.txt
Normal file
8
src/host/pico_multicore/CMakeLists.txt
Normal file
@ -0,0 +1,8 @@
|
||||
if (NOT TARGET pico_multicore)
|
||||
add_library(pico_multicore INTERFACE)
|
||||
|
||||
target_include_directories(pico_multicore INTERFACE ${CMAKE_CURRENT_LIST_DIR}/include)
|
||||
endif()
|
||||
|
||||
|
||||
|
44
src/host/pico_multicore/include/pico/multicore.h
Normal file
44
src/host/pico_multicore/include/pico/multicore.h
Normal file
@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
#ifndef _PICO_MULTICORE_H
|
||||
#define _PICO_MULTICORE_H
|
||||
|
||||
#include "pico/types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void multicore_reset_core1();
|
||||
void multicore_launch_core1(void (*entry)(void));
|
||||
void multicore_launch_core1_with_stack(void (*entry)(void), uint32_t *stack_bottom, size_t stack_size_bytes);
|
||||
void multicore_sleep_core1();
|
||||
void multicore_launch_core1_raw(void (*entry)(void), uint32_t *sp, uint32_t vector_table);
|
||||
|
||||
bool multicore_fifo_rvalid();
|
||||
bool multicore_fifo_wready();
|
||||
void multicore_fifo_push(uint32_t data);
|
||||
uint32_t multicore_fifo_pop_blocking();
|
||||
void multicore_fifo_drain();
|
||||
void multicore_fifo_clear_irq();
|
||||
int32_t multicore_fifo_get_status();
|
||||
|
||||
// call this from the lockout victim thread
|
||||
void multicore_lockout_victim_init();
|
||||
|
||||
// start locking out the other core (it will be
|
||||
bool multicore_lockout_start_timeout_us(uint64_t timeout_us);
|
||||
void multicore_lockout_start_blocking();
|
||||
|
||||
bool multicore_lockout_end_timeout_us(uint64_t timeout_us);
|
||||
void multicore_lockout_end_blocking();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user