From 66cfdfa4b9060c73aba78161e4445d0e5250b39f Mon Sep 17 00:00:00 2001 From: Marius Vikhammer Date: Wed, 10 Jun 2026 15:03:57 +0800 Subject: [PATCH] fix(ulp): fix LP core interrupt vector entry for LP PDMA on esp32s31 --- components/ulp/lp_core/lp_core/include/ulp_lp_core_interrupts.h | 1 + components/ulp/lp_core/lp_core/lp_core_interrupt.c | 1 + components/ulp/lp_core/lp_core/port/esp32s31/vector_table.S | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/components/ulp/lp_core/lp_core/include/ulp_lp_core_interrupts.h b/components/ulp/lp_core/lp_core/include/ulp_lp_core_interrupts.h index f04ef04ef70..043b3582467 100644 --- a/components/ulp/lp_core/lp_core/include/ulp_lp_core_interrupts.h +++ b/components/ulp/lp_core/lp_core/include/ulp_lp_core_interrupts.h @@ -38,6 +38,7 @@ extern "C" { * ulp_lp_core_mailbox_intr_handler(void); * ulp_lp_core_lp_wdt_intr_handler(void); * ulp_lp_core_lp_rtc_intr_handler(void); + * ulp_lp_core_lp_pdma_intr_handler(void); * ulp_lp_core_sw_intr_handler(void); * * Not all handlers are available on all chips. Please refer to the Technical Reference Manual for your chip for more information. diff --git a/components/ulp/lp_core/lp_core/lp_core_interrupt.c b/components/ulp/lp_core/lp_core/lp_core_interrupt.c index bc227166449..a4146ddf8d9 100644 --- a/components/ulp/lp_core/lp_core/lp_core_interrupt.c +++ b/components/ulp/lp_core/lp_core/lp_core_interrupt.c @@ -66,6 +66,7 @@ void __attribute__((weak, alias("ulp_lp_core_default_intr_handler"))) ulp_lp_cor void __attribute__((weak, alias("ulp_lp_core_default_intr_handler"))) ulp_lp_core_mailbox_intr_handler(void); void __attribute__((weak, alias("ulp_lp_core_default_intr_handler"))) ulp_lp_core_lp_wdt_intr_handler(void); void __attribute__((weak, alias("ulp_lp_core_default_intr_handler"))) ulp_lp_core_lp_rtc_intr_handler(void); +void __attribute__((weak, alias("ulp_lp_core_default_intr_handler"))) ulp_lp_core_lp_pdma_intr_handler(void); void __attribute__((weak, alias("ulp_lp_core_default_intr_handler"))) ulp_lp_core_sw_intr_handler(void); #if SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR diff --git a/components/ulp/lp_core/lp_core/port/esp32s31/vector_table.S b/components/ulp/lp_core/lp_core/port/esp32s31/vector_table.S index a4df7a3852b..6514729743d 100644 --- a/components/ulp/lp_core/lp_core/port/esp32s31/vector_table.S +++ b/components/ulp/lp_core/lp_core/port/esp32s31/vector_table.S @@ -41,7 +41,7 @@ _vector_table: j ulp_lp_core_mailbox_intr_handler j ulp_lp_core_lp_timer_intr_handler j ulp_lp_core_lp_wdt_intr_handler - j ulp_lp_core_lp_rtc_intr_handler + j ulp_lp_core_lp_pdma_intr_handler j _panic_handler j _panic_handler