However on the STM32G431, also trying to enable I2C1.
The STM32G431xx, STM32G441xx, STM32G471xx are the outliers in the G4xx series as the rest all seem to have 2 x 8 DMA streams where they only have 2 x 6 DMA streams.
Code: Select all
Compiling: lib/chibios/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.c lib/chibios/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.c: In function 'Vector84':
lib/chibios/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.c:398:21: error: 'STM32_DMA1_STREAM7' undeclared (first use in this function); did you mean 'STM32_DMA1_STREAM1'?
398 | dmaServeInterrupt(STM32_DMA1_STREAM7);
lib/chibios/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.c:398:21: note: each undeclared identifier is reported only once for each function it appears in
lib/chibios/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.c: In function 'Vector1C0':
lib/chibios/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.c:414:21: error: 'STM32_DMA1_STREAM8' undeclared (first use in this function); did you mean 'STM32_DMA1_STREAM1'?
414 | dmaServeInterrupt(STM32_DMA1_STREAM8);
lib/chibios/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.c: In function 'Vector1C8':
lib/chibios/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.c:526:21: error: 'STM32_DMA2_STREAM7' undeclared (first use in this function); did you mean 'STM32_DMA2_STREAM1'?
526 | dmaServeInterrupt(STM32_DMA2_STREAM7);
lib/chibios/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.c: In function 'Vector1CC':
lib/chibios/os/hal/ports/STM32/LLD/DMAv1/stm32_dma.c:542:21: error: 'STM32_DMA2_STREAM8' undeclared (first use in this function); did you mean 'STM32_DMA2_STREAM1'?
542 | dmaServeInterrupt(STM32_DMA2_STREAM8);
Wrapping the defines in stm32_isr.h for channel 7 and 8 to not apply to these fixes the problem and I can compile but not sure if this is the correct way to go about it.