CubeMX fails to generate Multimode Config call
Using project setup from NUCLEO-U3C5ZI-Q, when ADC1>ADCs_Common_Settings>Mode is set to `Dual regular simultaneous mode only` CubeMX fails to generate the HAL_ADCEx_MultiModeConfigChannel() call to configure the ADCs for dual mode. This must be manually added by the user, otherwise the slave ADC does not trigger conversions. I believe this call was supposed to generate in MX_ADC1_Init. Am I missing something here?
Here is my ioc file:
#MicroXplorer Configuration settings - do not modify
ADC1.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_3
ADC1.ConversionDataManagement=ADC_CONVERSIONDATA_DMA_CIRCULAR
ADC1.DMAAccessModeView=ENABLE
ADC1.EOCSelection=ADC_EOC_SINGLE_CONV
ADC1.EnableInjectedConversion=DISABLE
ADC1.ExternalTrigConv=ADC_EXTERNALTRIG_T1_TRGO
ADC1.IPParameters=Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,OffsetNumber-2\#ChannelRegularConversion,MonitoredBy-2\#ChannelRegularConversion,NbrOfConversionFlag,NbrOfConversion,EOCSelection,EnableInjectedConversion,ConversionDataManagement,master,ExternalTrigConv,Mode,DMAAccessModeView
ADC1.Mode=ADC_DUALMODE_REGSIMULT
ADC1.MonitoredBy-2\#ChannelRegularConversion=__NULL
ADC1.NbrOfConversion=1
ADC1.NbrOfConversionFlag=1
ADC1.OffsetNumber-2\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC1.Rank-2\#ChannelRegularConversion=1
ADC1.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_46CYCLES_5
ADC1.master=1
ADC2.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_5
ADC2.ConversionDataManagement=ADC_CONVERSIONDATA_DMA_CIRCULAR
ADC2.DMAAccessModeView=ENABLE
ADC2.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,MonitoredBy-0\#ChannelRegularConversion,NbrOfConversionFlag,ConversionDataManagement,Mode,DMAAccessModeView
ADC2.Mode=ADC_DUALMODE_REGSIMULT
ADC2.MonitoredBy-0\#ChannelRegularConversion=__NULL
ADC2.NbrOfConversionFlag=1
ADC2.OffsetNumber-0\#ChannelRegularConversion=ADC_OFFSET_NONE
ADC2.Rank-0\#ChannelRegularConversion=1
ADC2.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_46CYCLES_5
BSP_IP_NAME=NUCLEO-U3C5ZI-Q
CAD.formats=
CAD.pinconfig=
CAD.provider=
CORTEX_M33_NS.userName=CORTEX_M33
File.Version=6
GPDMA1.CIRCULARMODE_GPDMACH0=ENABLE
GPDMA1.DATAHANDLING_GPDMACH0=NONE
GPDMA1.DESTBURSTLENGTH_GPDMACH0=1
GPDMA1.DESTDATAWIDTH_GPDMACH0=DMA_DEST_DATAWIDTH_WORD
GPDMA1.DESTINC_GPDMACH0=DMA_DINC_INCREMENTED
GPDMA1.IPHANDLE_GPDMACH0-SIMPLEREQUEST_GPDMACH0=__NULL
GPDMA1.IPParameters=CIRCULARMODE_GPDMACH0,TRANSFERALLOCATEDPORTDEST_GPDMACH0,DESTDATAWIDTH_GPDMACH0,DESTINC_GPDMACH0,DESTBURSTLENGTH_GPDMACH0,SRCINC_GPDMACH0,SRCDATAWIDTH_GPDMACH0,DATAHANDLING_GPDMACH0,REQUEST_GPDMACH0,IPHANDLE_GPDMACH0-SIMPLEREQUEST_GPDMACH0
GPDMA1.REQUEST_GPDMACH0=GPDMA1_REQUEST_ADC1
GPDMA1.SRCDATAWIDTH_GPDMACH0=DMA_SRC_DATAWIDTH_WORD
GPDMA1.SRCINC_GPDMACH0=DMA_SINC_FIXED
GPDMA1.TRANSFERALLOCATEDPORTDEST_GPDMACH0=DMA_DEST_ALLOCATED_PORT1
GPIO.groupedBy=Group By Peripherals
HSP_ENGINE.DspLib=false
HSP_ENGINE.IPParameters=DspLib
HSP_Engine.BufferListNb=0
HSP_Engine.EventListNb=0
HSP_Engine.ProcessingElementCount=4
HSP_Engine.ProcessingListCount=3
HSP_Engine.ProcessingListIds=
HSP_Engine.ProcessingListNb=0
KeepUserPlacement=true
Mcu.CPN=STM32U3C5ZITxQ
Mcu.ContextProject=TrustZoneDisabled
Mcu.Family=STM32U3
Mcu.IP0=ADC1
Mcu.IP1=ADC2
Mcu.IP10=SYS
Mcu.IP11=TIM1
Mcu.IP2=CORTEX_M33_NS
Mcu.IP3=GPDMA1
Mcu.IP4=HSP1
Mcu.IP5=HSP_ENGINE
Mcu.IP6=NUCLEO-U3C5ZI-Q
Mcu.IP7=NVIC
Mcu.IP8=PWR
Mcu.IP9=RCC
Mcu.IPNb=13
Mcu.Name=STM32U3C5ZITxQ
Mcu.Package=LQFP144
Mcu.Pin0=PE2
Mcu.Pin1=PE3
Mcu.Pin10=PH0-OSC_IN (PH0)
Mcu.Pin11=PH1-OSC_OUT (PH1)
Mcu.Pin12=PC2
Mcu.Pin13=PA0
Mcu.Pin14=PA1
Mcu.Pin15=PA2
Mcu.Pin16=PA3
Mcu.Pin17=PA4
Mcu.Pin18=PA5
Mcu.Pin19=PA6
Mcu.Pin2=PE4
Mcu.Pin20=PF12
Mcu.Pin21=PE14
Mcu.Pin22=PA9
Mcu.Pin23=PA10
Mcu.Pin24=PA11
Mcu.Pin25=PA12
Mcu.Pin26=PA13 (JTMS/SWDIO)
Mcu.Pin27=PA14 (JTCK/SWCLK)
Mcu.Pin28=PA15 (JTDI)
Mcu.Pin29=PC10
Mcu.Pin3=PE5
Mcu.Pin30=PD2
Mcu.Pin31=PD7
Mcu.Pin32=PB3 (JTDO/TRACESWO)
Mcu.Pin33=VP_CORTEX_M33_NS_VS_Hclk
Mcu.Pin34=VP_GPDMA1_VS_GPDMACH0
Mcu.Pin35=VP_HSP1_VS_HSP
Mcu.Pin36=VP_HSP_ENGINE_VS_HSP_DSP_CMSIS_2
Mcu.Pin37=VP_HSP_ENGINE_VS_HSP_DSP_CMSIS_3
Mcu.Pin38=VP_PWR_VS_SECSignals
Mcu.Pin39=VP_PWR_VS_DBSignals
Mcu.Pin4=PE6
Mcu.Pin40=VP_SYS_VS_Systick
Mcu.Pin41=VP_TIM1_VS_no_output1
Mcu.Pin42=VP_NUCLEO-U3C5ZI-Q_VS_BSP_COMMON
Mcu.Pin5=PC13
Mcu.Pin6=PC14-OSC32_IN (PC14)
Mcu.Pin7=PC15-OSC32_OUT (PC15)
Mcu.Pin8=PF7
Mcu.Pin9=PF8
Mcu.PinsNb=43
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32U3C5ZITxQ
MxCube.Version=6.18.0
MxDb.Version=DB.6.0.180
NUCLEO-U3C5ZI-Q.BUTTON=1
NUCLEO-U3C5ZI-Q.Bsp_Common_DEMO=true
NUCLEO-U3C5ZI-Q.IPParameters=BUTTON,VCP,LD1,LD2,LD3,Bsp_Common_DEMO
NUCLEO-U3C5ZI-Q.LD1=true
NUCLEO-U3C5ZI-Q.LD2=true
NUCLEO-U3C5ZI-Q.LD3=true
NUCLEO-U3C5ZI-Q.VCP=true
NVIC.ADC1_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.ADC2_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.EXTI13_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true
NVIC.ForceEnableDMAVector=true
NVIC.GPDMA1_Channel0_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.SecureFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
PA0.Locked=true
PA0.Mode=IN3-Single-Ended
PA0.Signal=ADC1_IN3
PA1.Mode=Debug
PA1.Signal=HSP1_SNP1
PA10.Locked=true
PA10.Signal=USART1_RX
PA11.GPIOParameters=GPIO_Label
PA11.GPIO_Label=USB_DM
PA11.Locked=true
PA11.Signal=USB_DM
PA12.GPIOParameters=GPIO_Label
PA12.GPIO_Label=USB_DP
PA12.Locked=true
PA12.Signal=USB_DP
PA13\ (JTMS/SWDIO).GPIOParameters=GPIO_Label
PA13\ (JTMS/SWDIO).GPIO_Label=DEBUG_JTMS-SWDIO
PA13\ (JTMS/SWDIO).Locked=true
PA13\ (JTMS/SWDIO).Signal=DEBUG_JTMS-SWDIO
PA14\ (JTCK/SWCLK).GPIOParameters=GPIO_Label
PA14\ (JTCK/SWCLK).GPIO_Label=DEBUG_JTCK-SWCLK
PA14\ (JTCK/SWCLK).Locked=true
PA14\ (JTCK/SWCLK).Signal=DEBUG_JTCK-SWCLK
PA15\ (JTDI).GPIOParameters=GPIO_Label
PA15\ (JTDI).GPIO_Label=DEBUG_JTDI
PA15\ (JTDI).Locked=true
PA15\ (JTDI).Signal=DEBUG_JTDI
PA2.Mode=Debug
PA2.Signal=HSP1_SNP2
PA3.Mode=Debug
PA3.Signal=HSP1_SNP3
PA4.Mode=Debug
PA4.Signal=HSP1_SNP4
PA5.Locked=true
PA6.Mode=IN5-Single-Ended
PA6.Signal=ADC2_IN5
PA9.Locked=true
PA9.Signal=USART1_TX
PB3\ (JTDO/TRACESWO).GPIOParameters=GPIO_Label
PB3\ (JTDO/TRACESWO).GPIO_Label=DEBUG_JTDO-SWO
PB3\ (JTDO/TRACESWO).Locked=true
PB3\ (JTDO/TRACESWO).Signal=DEBUG_JTDO-SWO
PC10.Mode=Debug
PC10.Signal=HSP1_SNP5
PC13.Locked=true
PC13.Signal=GPIO_Input
PC14-OSC32_IN\ (PC14).GPIOParameters=GPIO_Label
PC14-OSC32_IN\ (PC14).GPIO_Label=RCC_OSC32_IN
PC14-OSC32_IN\ (PC14).Locked=true
PC14-OSC32_IN\ (PC14).Signal=RCC_OSC32_IN
PC15-OSC32_OUT\ (PC15).GPIOParameters=GPIO_Label
PC15-OSC32_OUT\ (PC15).GPIO_Label=RCC_OSC32_OUT
PC15-OSC32_OUT\ (PC15).Locked=true
PC15-OSC32_OUT\ (PC15).Signal=RCC_OSC32_OUT
PC2.GPIOParameters=GPIO_Label
PC2.GPIO_Label=VSENSE(ADC2_IN1)
PC2.Locked=true
PC2.Signal=ADC2_IN1
PD2.Mode=Debug
PD2.Signal=HSP1_SNP0
PD7.GPIOParameters=GPIO_Label
PD7.GPIO_Label=FDCAN_STBY
PD7.Locked=true
PD7.Signal=GPIO_Output
PE14.Locked=true
PE2.Locked=true
PE2.Signal=DEBUG_TRACECLK
PE3.Locked=true
PE3.Signal=DEBUG_TRACED0
PE4.Locked=true
PE4.Signal=DEBUG_TRACED1
PE5.Locked=true
PE5.Signal=DEBUG_TRACED2
PE6.Locked=true
PE6.Signal=DEBUG_TRACED3
PF12.GPIOParameters=GPIO_Label
PF12.GPIO_Label=VBUS_DET
PF12.Locked=true
PF12.Signal=GPIO_Input
PF7.Locked=true
PF7.Signal=FDCAN1_RX
PF8.Locked=true
PF8.Signal=FDCAN1_TX
PH0-OSC_IN\ (PH0).Locked=true
PH0-OSC_IN\ (PH0).Signal=RCC_OSC_IN
PH1-OSC_OUT\ (PH1).Locked=true
PH1-OSC_OUT\ (PH1).Signal=RCC_OSC_OUT
PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
ProjectManager.BackupPrevious=false
ProjectManager.CompilerLinker=Starm-Clang
ProjectManager.CompilerOptimize=6
ProjectManager.ComputerToolchain=false
ProjectManager.CoupleFile=true
ProjectManager.CustomerFirmwarePackage=
ProjectManager.DefaultFWLocation=true
ProjectManager.DeletePrevious=true
ProjectManager.DeviceId=STM32U3C5ZITxQ
ProjectManager.FirmwarePackage=STM32Cube FW_U3 V1.4.0
ProjectManager.FreePins=false
ProjectManager.FreePinsContext=
ProjectManager.HalAssertFull=false
ProjectManager.HeapSize=0x200
ProjectManager.KeepUserCode=true
ProjectManager.LastFirmware=true
ProjectManager.LibraryCopy=1
ProjectManager.MainLocation=Core/Src
ProjectManager.NoMain=false
ProjectManager.PreviousToolchain=
ProjectManager.ProjectBuild=false
ProjectManager.ProjectFileName=Wakeup-Receiver-Firmware.ioc
ProjectManager.ProjectName=Wakeup-Receiver-Firmware
ProjectManager.ProjectStructure=
ProjectManager.RegisterCallBack=HSP
ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=CMake
ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=false
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_GPDMA1_Init-GPDMA1-false-HAL-true,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_TIM1_Init-TIM1-false-HAL-true,6-MX_HSP_Engine_Init-HSP_ENGINE-false-HAL-false,7-MX_ADC2_Init-ADC2-false-HAL-true,0-MX_CORTEX_M33_NS_Init-CORTEX_M33_NS-false-HAL-true,0-MX_PWR_Init-PWR-false-HAL-true,false-0--NUCLEO-U3C5ZI-Q-true-HAL-true
RCC.ADCFreq_Value=24000000
RCC.ADC_DIV=RCC_ADCDACCLK_DIV4
RCC.ADF1Freq_Value=96000000
RCC.AHBFreq_Value=96000000
RCC.APB1Freq_Value=96000000
RCC.APB1TimFreq_Value=96000000
RCC.APB2Freq_Value=96000000
RCC.APB2TimFreq_Value=96000000
RCC.APB3Freq_Value=96000000
RCC.CRSFreq_Value=48000000
RCC.CortexFreq_Value=12000000
RCC.DACFreq_Value=32000
RCC.FCLKCortexFreq_Value=96000000
RCC.FDCANFreq_Value=96000000
RCC.FamilyName=M
RCC.HCLKFreq_Value=96000000
RCC.HSE_VALUE=16000000
RCC.HSI48_VALUE=48000000
RCC.HSI_VALUE=16000000
RCC.I2C1Freq_Value=96000000
RCC.I2C2Freq_Value=96000000
RCC.I2C3Freq_Value=96000000
RCC.I2C4Freq_Value=96000000
RCC.I3C1Freq_Value=96000000
RCC.I3C2Freq_Value=96000000
RCC.IPParameters=ADCFreq_Value,ADC_DIV,ADF1Freq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,APB3Freq_Value,CRSFreq_Value,CortexFreq_Value,DACFreq_Value,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2C4Freq_Value,I3C1Freq_Value,I3C2Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPTIM3Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSIDIV_VALUE,LSI_VALUE,MCO1PinFreq_Value,MCO2PinFreq_Value,MSISDIV,MSISFreq_Value,OCTOSPIMFreq_Value,RNGFreq_Value,SAESFreq_Value,SAI1Freq_Value,SDMMCFreq_Value,SPI1Freq_Value,SPI2Freq_Value,SPI3Freq_Value,SPI4Freq_Value,SYSCLKFreq_VALUE,UART4Freq_Value,UART5Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,USB_DIV
RCC.LPTIM1Freq_Value=96000000
RCC.LPTIM2Freq_Value=96000000
RCC.LPTIM3Freq_Value=96000000
RCC.LPUART1Freq_Value=96000000
RCC.LSCOPinFreq_Value=32000
RCC.LSE_VALUE=32768
RCC.LSIDIV_VALUE=32000
RCC.LSI_VALUE=32000
RCC.MCO1PinFreq_Value=96000000
RCC.MCO2PinFreq_Value=96000000
RCC.MSISDIV=RCC_MSI_DIV1
RCC.MSISFreq_Value=96000000
RCC.OCTOSPIMFreq_Value=96000000
RCC.RNGFreq_Value=48000000
RCC.SAESFreq_Value=96000000
RCC.SAI1Freq_Value=96000000
RCC.SDMMCFreq_Value=96000000
RCC.SPI1Freq_Value=96000000
RCC.SPI2Freq_Value=96000000
RCC.SPI3Freq_Value=96000000
RCC.SPI4Freq_Value=96000000
RCC.SYSCLKFreq_VALUE=96000000
RCC.UART4Freq_Value=96000000
RCC.UART5Freq_Value=96000000
RCC.USART1Freq_Value=96000000
RCC.USART2Freq_Value=96000000
RCC.USART3Freq_Value=96000000
RCC.USBFreq_Value=48000000
RCC.USB_DIV=RCC_USB1CLKSOURCE_ICLK_DIV2
TIM1.Channel-Output\ Compare1\ No\ Output=TIM_CHANNEL_1
TIM1.IPParameters=Channel-Output Compare1 No Output,PeriodNoDither,TIM_MasterOutputTrigger
TIM1.PeriodNoDither=499
TIM1.TIM_MasterOutputTrigger=TIM_TRGO_UPDATE
VP_CORTEX_M33_NS_VS_Hclk.Mode=Hclk_Mode
VP_CORTEX_M33_NS_VS_Hclk.Signal=CORTEX_M33_NS_VS_Hclk
VP_GPDMA1_VS_GPDMACH0.Mode=SIMPLEREQUEST_GPDMACH0
VP_GPDMA1_VS_GPDMACH0.Signal=GPDMA1_VS_GPDMACH0
VP_HSP1_VS_HSP.Mode=Enable
VP_HSP1_VS_HSP.Signal=HSP1_VS_HSP
VP_HSP_ENGINE_VS_HSP_DSP_CMSIS_2.Mode=Accelerator
VP_HSP_ENGINE_VS_HSP_DSP_CMSIS_2.Signal=HSP_ENGINE_VS_HSP_DSP_CMSIS_2
VP_HSP_ENGINE_VS_HSP_DSP_CMSIS_3.Mode=Sequencer
VP_HSP_ENGINE_VS_HSP_DSP_CMSIS_3.Signal=HSP_ENGINE_VS_HSP_DSP_CMSIS_3
VP_NUCLEO-U3C5ZI-Q_VS_BSP_COMMON.Mode=COMMON
VP_NUCLEO-U3C5ZI-Q_VS_BSP_COMMON.Signal=NUCLEO-U3C5ZI-Q_VS_BSP_COMMON
VP_PWR_VS_DBSignals.Mode=DisableDeadBatterySignals
VP_PWR_VS_DBSignals.Signal=PWR_VS_DBSignals
VP_PWR_VS_SECSignals.Mode=Security/Privilege
VP_PWR_VS_SECSignals.Signal=PWR_VS_SECSignals
VP_SYS_VS_Systick.Mode=SysTick
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
VP_TIM1_VS_no_output1.Mode=Output Compare1 No Output
VP_TIM1_VS_no_output1.Signal=TIM1_VS_no_output1
board=NUCLEO-U3C5ZI-Q
boardIOC=true
