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
