forked from espressif/esp-idf
FreeRTOS: esp_crosscore_int_send_yield() should be in IRAM
Possible for xQueueGenericSendFromISR -> xTaskRemoveFromEventQueueList -> taskYIELD_OTHER_CORE code path to occur while cache is off.
This commit is contained in:
@@ -82,7 +82,7 @@ void esp_crosscore_int_init() {
|
|||||||
assert(err == ESP_OK);
|
assert(err == ESP_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
void esp_crosscore_int_send_yield(int coreId) {
|
void IRAM_ATTR esp_crosscore_int_send_yield(int coreId) {
|
||||||
assert(coreId<portNUM_PROCESSORS);
|
assert(coreId<portNUM_PROCESSORS);
|
||||||
//Mark the reason we interrupt the other CPU
|
//Mark the reason we interrupt the other CPU
|
||||||
portENTER_CRITICAL(&reasonSpinlock);
|
portENTER_CRITICAL(&reasonSpinlock);
|
||||||
|
Reference in New Issue
Block a user