Skip to main content
Visitor II
January 4, 2024
Question

FWupgrade_Standalone example not working

  • January 4, 2024
  • 1 reply
  • 811 views

 

Hi, I tried to run the FWupgrade_Standalone example on the STM32h743I EVAL Rev B board, but it didn't work.

There are currently three issues

 

1.HS, FS in the build settings are not working correctly.
If I don't connect a USB stick to the OTG HS without covering HS and FS, the red LED blinks. According to the readme, it seems to be USB Disconnect. When I built the example with FS, I removed the jumper on JP2 as instructed in the readme.

 

2.The example says that the download command is executed if the tamper switch is pressed for less than 3 seconds, but my board goes into download mode by itself without pressing the tamper switch.

 

3.After checking with the debugger, my board keeps returning URB_State_IDLE on line 192 of the usbh_msc_bot.c file(line 13 of the following code),

 

 switch (MSC_Handle->hbot.state)
 {
 case BOT_SEND_CBW:
 MSC_Handle->hbot.cbw.field.LUN = lun;
 MSC_Handle->hbot.state = BOT_SEND_CBW_WAIT;
 (void)USBH_BulkSendData(phost, MSC_Handle->hbot.cbw.data,
 BOT_CBW_LENGTH, MSC_Handle->OutPipe, 1U);

 break;

 case BOT_SEND_CBW_WAIT:

 URB_Status = USBH_LL_GetURBState(phost, MSC_Handle->OutPipe);

 if (URB_Status == USBH_URB_DONE)
 {
 if (MSC_Handle->hbot.cbw.field.DataTransferLength != 0U)
 {
 /* If there is Data Transfer Stage */
 if (((MSC_Handle->hbot.cbw.field.Flags) & USB_REQ_DIR_MASK) == USB_D2H)
 {
 /* Data Direction is IN */
 MSC_Handle->hbot.state = BOT_DATA_IN;
 }
 else
 {
 /* Data Direction is OUT */
 MSC_Handle->hbot.state = BOT_DATA_OUT;
 }
 }

 

 

which causes it to return usbh_busy on line 798 of the usbh_msc.c file,

 

 while (USBH_MSC_RdWrProcess(phost, lun) == USBH_BUSY)
 {
 if (((phost->Timer - timeout) > (10000U * length)) || (phost->device.is_connected == 0U))
 {
 MSC_Handle->state = MSC_IDLE;
 return USBH_FAIL;
 }
 }
 MSC_Handle->state = MSC_IDLE;

 

 

so it seems to be stuck in a while statement.

I installed the latest version of the Cube MCU Package for the H743I EVAL board from CubeMX, and did not modify the example code.

 

Does anyone have a solution or advice for this problem?

    This topic has been closed for replies.

    1 reply

    Technical Moderator
    April 23, 2024

    Hi @Croaker 

    Check SB50. It must be removed as well as detailed in the user manual.