Select one of the symbols to view example projects that use it.
 
Outline
#define __ESP_CROSSCORE_INT_H
#include "sdkconfig.h"
esp_crosscore_int_init();
esp_crosscore_int_send_yield(int);
esp_crosscore_int_send_freq_switch(int);
esp_crosscore_int_send_gdb_call(int);
esp_crosscore_int_send_print_backtrace(int);
esp_crosscore_int_send_twdt_abort(int);
Files
loading (3/5)...
SourceVuESP-IDF Framework and ExamplesESP-IDFcomponents/esp_system/include/esp_private/crosscore_int.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
71
72
73
74
75
76
77
78
79
80
81
82
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/* * SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 *//* ... */ #ifndef __ESP_CROSSCORE_INT_H #define __ESP_CROSSCORE_INT_H #include "sdkconfig.h" #ifdef __cplusplus extern "C" { #endif /** * Initialize the crosscore interrupt system for this CPU. * This needs to be called once on every CPU that is used * by FreeRTOS. * * If multicore FreeRTOS support is enabled, this will be * called automatically by the startup code and should not * be called manually. *//* ... */ void esp_crosscore_int_init(void); /** * Send an interrupt to a CPU indicating it should yield its * currently running task in favour of a higher-priority task * that presumably just woke up. * * This is used internally by FreeRTOS in multicore mode * and should not be called by the user. * * @param core_id Core that should do the yielding *//* ... */ void esp_crosscore_int_send_yield(int core_id); /** * Send an interrupt to a CPU indicating it should update its * CCOMPARE1 value due to a frequency switch. * * This is used internally when dynamic frequency switching is * enabled, and should not be called from application code. * * @param core_id Core that should update its CCOMPARE1 value *//* ... */ void esp_crosscore_int_send_freq_switch(int core_id); void esp_crosscore_int_send_gdb_call(int core_id); #if !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE /** * Send an interrupt to a CPU indicating it should print its current backtrace * * This is used internally by the Task Watchdog to dump the backtrace of the * opposite core and should not be called from application code. * * @param core_id Core that should print its backtrace *//* ... */ void esp_crosscore_int_send_print_backtrace(int core_id); #if CONFIG_ESP_TASK_WDT_EN /** * Send an interrupt to a CPU indicating it call `task_wdt_timeout_abort_xtensa`. * This will make the CPU abort, using the interrupted task frame. * * This is used internally by the Task Watchdog when it should abort after a task, * running on the other core than the one running the TWDT ISR, failed to reset * its timer. * * @param core_id Core that should abort *//* ... */ void esp_crosscore_int_send_twdt_abort(int core_id); /* ... */ #endif // CONFIG_ESP_TASK_WDT_EN/* ... */ #endif // !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE #ifdef __cplusplus }{...} #endif /* ... */ #endif
Details