The way to fix it is to fully name the files that are *different* by replacing the x with the part number’s digit E.G. stm32h7x3xx_irq.h -> stm32h723xx_irq.h
The top level inclusion file will have the ifdef logic to include the correct part based on chip selection: See https://github.com/apache/nuttx/blob/master/arch/arm/include/stm32h7/irq.h#L70-L84 Even if it duplicates 90% of the file it is better than #ifdefing the stm32h7x3xx_irq.h file. AKA ifdef rash! David *From:* o.svezhins...@indrones.ru.INVALID <o.svezhins...@indrones.ru.INVALID> *Sent:* Friday, September 8, 2023 5:16 AM *To:* dev@nuttx.apache.org *Subject:* Addition of STM32H7 MCU's Hi, all I would like to start working on developing support for STM32H735 microcontrollers in NuttX OS, but I found some strange things in the principle of configuring this series of microcontrollers. Microcontrollers of the H7 series are divided into several subseries, each united by one reference manual: - STM32H723/733, STM32H725/735 and STM32H730 (RM0468) - STM32H745/755 and STM32H747/757 (RM0399) - STM32H742, STM32H743/753 and STM32H750 (RM0433) - STM32H7A3/7B3 and STM32H7B0 (RM0455) But some header files in arch/arm/include/stm32h7 are designated as stm32h7x3xx_irq.h or stm32h7x5xx_irq.h, although they are only for the H743 or H745 series respectively, not for H723 or H735. And such a discrepancy is also present in other source code files that belong to the H7 series. Maybe it's worth fixing this somehow? Will this break anything important? Oleg Svezhinskiy