>From what I'm familiar with STM32H7, all chips use the same registers and bit definitions. Therefore, keeping definitions for different chips in different files doesn't make sense in my opinion. The only problem is that some chips support some peripherals while others do not. But this can be solved using definitions from Kconfig, where we define the supported peripherals anyway, using `select STM32H7_HAVE_xxx`. In that case, it's possible to have only one version of files with hardware definitions (irq, peripherals) and guard the optional functionalities with `#ifdef CONFIG_STM32H7_HAVE_xxx`. Moreover, I think this can be done for all stm32 families, but it's a lot of work that no one has undertaken so far (I tried, but failed ;) )
I understand that code duplication is often not bad, but in the case of stm32 it is a bit too high. It's partly ST's fault because of how they release their manuals. The user must spend a lot of time to come to the conclusion that the only thing that changes in the other version of the chip is the chip code number in the reference manual :) pt., 8 wrz 2023 o 11:11 <o.svezhins...@indrones.ru.invalid> napisaĆ(a): > 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 >