kopia lustrzana https://github.com/espressif/esp-idf
esp32: place cross-core interrupt handler into IRAM
esp_intr_alloc is called with ESP_INTR_FLAG_IRAM, so the ISR should be in IRAM.pull/249/head
rodzic
a3f6728797
commit
833102cbf3
|
@ -44,7 +44,7 @@ static volatile uint32_t reason[ portNUM_PROCESSORS ];
|
||||||
ToDo: There is a small chance the CPU already has yielded when this ISR is serviced. In that case, it's running the intended task but
|
ToDo: There is a small chance the CPU already has yielded when this ISR is serviced. In that case, it's running the intended task but
|
||||||
the ISR will cause it to switch _away_ from it. portYIELD_FROM_ISR will probably just schedule the task again, but have to check that.
|
the ISR will cause it to switch _away_ from it. portYIELD_FROM_ISR will probably just schedule the task again, but have to check that.
|
||||||
*/
|
*/
|
||||||
static void esp_crosscore_isr(void *arg) {
|
static void IRAM_ATTR esp_crosscore_isr(void *arg) {
|
||||||
uint32_t myReasonVal;
|
uint32_t myReasonVal;
|
||||||
//A pointer to the correct reason array item is passed to this ISR.
|
//A pointer to the correct reason array item is passed to this ISR.
|
||||||
volatile uint32_t *myReason=arg;
|
volatile uint32_t *myReason=arg;
|
||||||
|
|
Ładowanie…
Reference in New Issue