Select one of the symbols to view example projects that use it.
 
Outline
#define _PICO_RUNTIME_H
#include "pico.h"
runtime_init();
runtime_run_initializers();
runtime_run_per_core_initializers();
#define PICO_RUNTIME_INIT_FUNC
#define PICO_RUNTIME_INIT_FUNC
#define PICO_RUNTIME_INIT_FUNC_HW
#define PICO_RUNTIME_INIT_FUNC_RUNTIME
#define PICO_RUNTIME_INIT_FUNC_PER_CORE
Files
loading...
SourceVuRaspberry Pi Pico SDK and ExamplesPicoSDKsrc/rp2_common/pico_runtime/include/pico/runtime.h
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/* * Copyright (c) 2020 Raspberry Pi (Trading) Ltd. * * SPDX-License-Identifier: BSD-3-Clause *//* ... */ #ifndef _PICO_RUNTIME_H #define _PICO_RUNTIME_H #include "pico.h" /** \file runtime.h * \defgroup pico_runtime pico_runtime * \brief Basic runtime support for running pre-main initializers provided by other libraries * * This library aggregates the following other libraries (if available): * * * \ref hardware_uart * * \ref pico_bit_ops * * \ref pico_divider * * \ref pico_double * * \ref pico_int64_ops * * \ref pico_float * * \ref pico_malloc * * \ref pico_mem_ops * * \ref pico_atomic * * \ref pico_cxx_options * * \ref pico_standard_binary_info * * \ref pico_standard_link * * \ref pico_sync * * \ref pico_printf * * \ref pico_crt0 * * \ref pico_clib_interface * * \ref pico_stdio *//* ... */ #ifdef __cplusplus extern "C" { #endif #ifndef __ASSEMBLER__ /*! \brief Run all the initializations that are usually called by crt0.S before entering main * \ingroup pico_runtime * * This method is useful to set up the runtime after performing a watchdog or powman reboot * via scratch vector. *//* ... */ void runtime_init(void); void runtime_run_initializers(void); void runtime_run_per_core_initializers(void); #ifndef PICO_RUNTIME_INIT_FUNC #define PICO_RUNTIME_INIT_FUNC(func, priority_string) uintptr_t __used __attribute__((section(".preinit_array." priority_string))) __pre_init_ ## func = (uintptr_t)(void (*)(void)) (func) #endif/* ... */ #else #ifndef PICO_RUNTIME_INIT_FUNC #define PICO_RUNTIME_INIT_FUNC(func, priority_string) __pre_init func, priority_string #endif/* ... */ #endif #define PICO_RUNTIME_INIT_FUNC_HW(func, priority_string) PICO_RUNTIME_INIT_FUNC(func, priority_string) #define PICO_RUNTIME_INIT_FUNC_RUNTIME(func, priority_string) PICO_RUNTIME_INIT_FUNC(func, priority_string) // priority strings are of the form 00000->99999; we want the per core stuff all at the end, so prefix with ZZZZZ which is clearly after 99999 #define PICO_RUNTIME_INIT_FUNC_PER_CORE(func, priority_string) PICO_RUNTIME_INIT_FUNC(func, "ZZZZZ." priority_string) #ifdef __cplusplus }extern "C" { ... } #endif /* ... */ #endif
Details
Show:
from
Types: Columns: