This is an automated email from the ASF dual-hosted git repository.

xiaoxiang781216 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 6a47f35ecc3f0498830bd9c11142c97eace538ef
Author: Kerogit <[email protected]>
AuthorDate: Wed Feb 18 12:09:41 2026 +0100

    arch/avr/src/avrdx: remove aliased interrupt handlers
    
    This patch removes aliased interrupt handlers from AVR128DA64
    and AVR128DB64 chips. 16-bit timer peripherals TCA on these chips
    can be configured to run in 2x8 bit mode. In this mode, interrupt
    handler for lower of the split counters is referred to by different
    name in the chip documentation and, consequently, in chip header
    file.
    
    Code in avrdx_exceptions.S was generated from this header file
    and the identical vector numbers were not spotted, leading to both
    the canonical names and their aliases being present. The interrupt
    vector table generated for these chips was therefore incorrect.
    
    This change was tested by building the sources with and without
    the patch. With the patch, interrupt vector table length is reduced
    by 32 bytes, corresponding to 8 removed vectors multipled by 4 bytes
    of jump instruction per vector. New size of the table is now 256
    bytes which matches 64 vectors. (For the AVR128DB64, 260 bytes
    and 65 vectors.)
    
    Signed-off-by: Kerogit <[email protected]>
---
 arch/avr/src/avrdx/avrdx_exceptions.S | 16 ----------------
 1 file changed, 16 deletions(-)

diff --git a/arch/avr/src/avrdx/avrdx_exceptions.S 
b/arch/avr/src/avrdx/avrdx_exceptions.S
index c96c512c18e..b73c83f1b29 100644
--- a/arch/avr/src/avrdx/avrdx_exceptions.S
+++ b/arch/avr/src/avrdx/avrdx_exceptions.S
@@ -96,15 +96,11 @@
        HANDLER avrdx_rtc_pit, AVRDX_IRQ_RTC_PIT, excpt_common
        HANDLER avrdx_ccl_ccl, AVRDX_IRQ_CCL_CCL, excpt_common
        HANDLER avrdx_porta_port, AVRDX_IRQ_PORTA_PORT, excpt_common
-       HANDLER avrdx_tca0_lunf, AVRDX_IRQ_TCA0_LUNF, excpt_common
        HANDLER avrdx_tca0_ovf, AVRDX_IRQ_TCA0_OVF, excpt_common
        HANDLER avrdx_tca0_hunf, AVRDX_IRQ_TCA0_HUNF, excpt_common
        HANDLER avrdx_tca0_cmp0, AVRDX_IRQ_TCA0_CMP0, excpt_common
-       HANDLER avrdx_tca0_lcmp0, AVRDX_IRQ_TCA0_LCMP0, excpt_common
        HANDLER avrdx_tca0_cmp1, AVRDX_IRQ_TCA0_CMP1, excpt_common
-       HANDLER avrdx_tca0_lcmp1, AVRDX_IRQ_TCA0_LCMP1, excpt_common
        HANDLER avrdx_tca0_cmp2, AVRDX_IRQ_TCA0_CMP2, excpt_common
-       HANDLER avrdx_tca0_lcmp2, AVRDX_IRQ_TCA0_LCMP2, excpt_common
        HANDLER avrdx_tcb0_int, AVRDX_IRQ_TCB0_INT, excpt_common
        HANDLER avrdx_tcb1_int, AVRDX_IRQ_TCB1_INT, excpt_common
        HANDLER avrdx_tcd0_ovf, AVRDX_IRQ_TCD0_OVF, excpt_common
@@ -139,15 +135,11 @@
        HANDLER avrdx_twi1_twim, AVRDX_IRQ_TWI1_TWIM, excpt_common
        HANDLER avrdx_portb_port, AVRDX_IRQ_PORTB_PORT, excpt_common
        HANDLER avrdx_porte_port, AVRDX_IRQ_PORTE_PORT, excpt_common
-       HANDLER avrdx_tca1_lunf, AVRDX_IRQ_TCA1_LUNF, excpt_common
        HANDLER avrdx_tca1_ovf, AVRDX_IRQ_TCA1_OVF, excpt_common
        HANDLER avrdx_tca1_hunf, AVRDX_IRQ_TCA1_HUNF, excpt_common
        HANDLER avrdx_tca1_cmp0, AVRDX_IRQ_TCA1_CMP0, excpt_common
-       HANDLER avrdx_tca1_lcmp0, AVRDX_IRQ_TCA1_LCMP0, excpt_common
        HANDLER avrdx_tca1_cmp1, AVRDX_IRQ_TCA1_CMP1, excpt_common
-       HANDLER avrdx_tca1_lcmp1, AVRDX_IRQ_TCA1_LCMP1, excpt_common
        HANDLER avrdx_tca1_cmp2, AVRDX_IRQ_TCA1_CMP2, excpt_common
-       HANDLER avrdx_tca1_lcmp2, AVRDX_IRQ_TCA1_LCMP2, excpt_common
        HANDLER avrdx_zcd1_zcd, AVRDX_IRQ_ZCD1_ZCD, excpt_common
        HANDLER avrdx_usart3_rxc, AVRDX_IRQ_USART3_RXC, excpt_common
        HANDLER avrdx_usart3_dre, AVRDX_IRQ_USART3_DRE, excpt_common
@@ -170,15 +162,11 @@
        HANDLER avrdx_rtc_pit, AVRDX_IRQ_RTC_PIT, excpt_common
        HANDLER avrdx_ccl_ccl, AVRDX_IRQ_CCL_CCL, excpt_common
        HANDLER avrdx_porta_port, AVRDX_IRQ_PORTA_PORT, excpt_common
-       HANDLER avrdx_tca0_lunf, AVRDX_IRQ_TCA0_LUNF, excpt_common
        HANDLER avrdx_tca0_ovf, AVRDX_IRQ_TCA0_OVF, excpt_common
        HANDLER avrdx_tca0_hunf, AVRDX_IRQ_TCA0_HUNF, excpt_common
        HANDLER avrdx_tca0_cmp0, AVRDX_IRQ_TCA0_CMP0, excpt_common
-       HANDLER avrdx_tca0_lcmp0, AVRDX_IRQ_TCA0_LCMP0, excpt_common
        HANDLER avrdx_tca0_cmp1, AVRDX_IRQ_TCA0_CMP1, excpt_common
-       HANDLER avrdx_tca0_lcmp1, AVRDX_IRQ_TCA0_LCMP1, excpt_common
        HANDLER avrdx_tca0_cmp2, AVRDX_IRQ_TCA0_CMP2, excpt_common
-       HANDLER avrdx_tca0_lcmp2, AVRDX_IRQ_TCA0_LCMP2, excpt_common
        HANDLER avrdx_tcb0_int, AVRDX_IRQ_TCB0_INT, excpt_common
        HANDLER avrdx_tcb1_int, AVRDX_IRQ_TCB1_INT, excpt_common
        HANDLER avrdx_tcd0_ovf, AVRDX_IRQ_TCD0_OVF, excpt_common
@@ -212,15 +200,11 @@
        HANDLER avrdx_tcb3_int, AVRDX_IRQ_TCB3_INT, excpt_common
        HANDLER avrdx_portb_port, AVRDX_IRQ_PORTB_PORT, excpt_common
        HANDLER avrdx_porte_port, AVRDX_IRQ_PORTE_PORT, excpt_common
-       HANDLER avrdx_tca1_lunf, AVRDX_IRQ_TCA1_LUNF, excpt_common
        HANDLER avrdx_tca1_ovf, AVRDX_IRQ_TCA1_OVF, excpt_common
        HANDLER avrdx_tca1_hunf, AVRDX_IRQ_TCA1_HUNF, excpt_common
        HANDLER avrdx_tca1_cmp0, AVRDX_IRQ_TCA1_CMP0, excpt_common
-       HANDLER avrdx_tca1_lcmp0, AVRDX_IRQ_TCA1_LCMP0, excpt_common
        HANDLER avrdx_tca1_cmp1, AVRDX_IRQ_TCA1_CMP1, excpt_common
-       HANDLER avrdx_tca1_lcmp1, AVRDX_IRQ_TCA1_LCMP1, excpt_common
        HANDLER avrdx_tca1_cmp2, AVRDX_IRQ_TCA1_CMP2, excpt_common
-       HANDLER avrdx_tca1_lcmp2, AVRDX_IRQ_TCA1_LCMP2, excpt_common
        HANDLER avrdx_zcd1_zcd, AVRDX_IRQ_ZCD1_ZCD, excpt_common
        HANDLER avrdx_usart3_rxc, AVRDX_IRQ_USART3_RXC, excpt_common
        HANDLER avrdx_usart3_dre, AVRDX_IRQ_USART3_DRE, excpt_common

Reply via email to