2024-01-20 02:50 PM - last edited on 2024-01-25 01:29 AM by Mike_ST
I have an eval board (Nucleo STM32U5A5) working with the CDC_ACM demo code (UCPD/USB_HS, which was written in 2021). I then created the CDC_ACM from scratch with the majority of IOC parameters's configuration copied over from the demo IOC and MOOC tutorial (for STM32H7xxxx); I noted many new parameters in the 2024 release, which I left untouched. I then copied over some USB code filename (using WinMerge) into new code (as suggested by MOOC for STM32H7xxxx). I refer to this as a new code/project.
I found an issue with the static HAL_StatusTypeDef USB_CoreReset(USB_OTG_GlobalTypeDef *USBx); it times out after the core reset: CSRST is not cleared in the new code. However, the demo code does.
I have checked the RCC/PWR/USB/UCPD register flags (via SFR window) while under the breakpoint in USB_CoreReset and found all the same between the demo code and new code except the TYPEC_VSTATE_CC2 which shows 1 in the demo code but 0 in the new code.
I have reviewed the datasheet and manual to figure out what factors are preventing CSRST from being cleared after the core reset. I'm open to suggestions for ways to resolve this or something missing in the IOC setup.
Have you tried the new CDC/ACM project based on the revised CubeIDE/MX release?
PS: I have also applied the CDC_ACM/USBX project into the application test code (containing FileX/ThreadX/etc), which also has the same issue with CSRST. I have spent two days trying to fix this.
I am going to check CC1/CC2 later on. Does it hold up the CSRST?
Solved! Go to Solution.
2024-03-06 01:03 PM
Hi, by any chance to provide update status of the ticket 174247?.
2024-03-12 04:56 AM
Hello @Riscy
It should be fixed in the future release of CubeMX. I will come back to you as soon as it is released.
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.