2025-03-01 5:54 PM - edited 2025-03-01 6:12 PM
I am using the STM32F723 with custom, self-powered PCB interfaced to a host using USB HS. Everything worked fine with with CubeMX 6.12, but after upgrading to more recent versions, I noticed that the following functions are no longer generated within HAL_PCD_MspInit() (file usbd_conf.c):
Solved! Go to Solution.
2025-03-07 2:11 AM
Hi @LucaP
Thank you for reporting and reproducing with latest version.
The issue is reported to dedicated team for a fix in code generation. Ticket number 204861 for reference.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2025-03-02 8:13 PM - edited 2025-03-02 8:14 PM
Include the IOC that you think is generating faulty code.
2025-03-03 5:13 AM
Hi @LucaP
Try to reproduce with latest version V6.14 first.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2025-03-04 8:43 AM
Hello @FBL ,
I have tried migrating the IOC from 6.12.1 to 6.13 and then to 6.14, also from 6.12.1 directly to 6.14, but in all cases those functions are no longer generated by CubeMX.
Anything else I should try?
2025-03-06 7:42 PM - edited 2025-03-06 7:43 PM
Sorry for missing your request....attached are IOC projects created from scratch with CubeMX 6.12 and 6.14 respectively, based on the same MCU with only a HS USB and CDC activated. As you can see, usbd_conf.c generated by 6.12 calls the functions above, while the 6.14 does not.
From CubeMX 6.12:
__HAL_RCC_GPIOB_CLK_ENABLE();
/**USB_OTG_HS GPIO Configuration
PB13 ------> USB_OTG_HS_VBUS
PB14 ------> USB_OTG_HS_DM
PB15 ------> USB_OTG_HS_DP
*/
GPIO_InitStruct.Pin = GPIO_PIN_13;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_14|GPIO_PIN_15;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF12_OTG_HS_FS;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/* Peripheral clock enable */
__HAL_RCC_OTGPHYC_CLK_ENABLE();
__HAL_RCC_USB_OTG_HS_CLK_ENABLE();
__HAL_RCC_USB_OTG_HS_ULPI_CLK_ENABLE();
/* Peripheral interrupt init */
HAL_NVIC_SetPriority(OTG_HS_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(OTG_HS_IRQn);
vs. 6.14
__HAL_RCC_GPIOB_CLK_ENABLE();
/**USB_OTG_HS GPIO Configuration
PB13 ------> USB_OTG_HS_VBUS
PB14 ------> USB_OTG_HS_DM
PB15 ------> USB_OTG_HS_DP
*/
GPIO_InitStruct.Pin = GPIO_PIN_13;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_14|GPIO_PIN_15;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF12_OTG_HS_FS;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/* Peripheral clock enable */
__HAL_RCC_OTGPHYC_CLK_ENABLE();
/* Peripheral interrupt init */
HAL_NVIC_SetPriority(OTG_HS_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(OTG_HS_IRQn);
2025-03-06 7:44 PM
Done, please see reply to @TDK above.
2025-03-07 2:11 AM
Hi @LucaP
Thank you for reporting and reproducing with latest version.
The issue is reported to dedicated team for a fix in code generation. Ticket number 204861 for reference.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2025-03-11 8:38 PM
Thank you, @FBL
In these cases, would a fix be typically released in a major release like CubeMX 6.15, or a minor release sooner?