cancel
Showing results for 
Search instead for 
Did you mean: 

HardFault after several hours with CDC USB_HOST_M7, USB_OTG_HS

roblahnst
Associate II

Product: RIVERDI RVT70HSSNWC00-B with STM32H757XIH6

STM32Cube FW_H7 V1.11.1
TouchGFX 4.25.0
CubeIDE 1.16.1
FreeRTOS 10.3.1, CMSIS_V2

I am using the code attached in usb_host.c to read data from a USB Virtual COM barcode reader. The .ioc file is also attached.

The code runs fine, however after some hours I get a hard fault. This happens only when the USB-scanner is plugged in. If nothing is plugged to USB it runs fine. I don't do anything with the barcode reader - it is just plugged in and the hard fault occurs.

I already tried the following:

  • USBH_CDC_BUFFER_SIZE 1024 to 2048
  • #define USBH_PROCESS_PRIO osPriorityLow to osPriorityNormal
  • #define USBH_PROCESS_STACK_SIZE ((uint16_t)4*2048) between 512 and 8192
  • STM32Cube FW_H7 V1.11.2

Any help would be very much appreciated.

13 REPLIES 13
roblahnst
Associate II

No, USB CDC is not used with LwIP. That's the funny thing. There is no connection between USB and LwIP.

So what physical network interface is used with LwIP ? is it ethernet ?

Initially I thought that the Riverdi product you mention ( RVT70HSSNWC00 ) was just an LCD screen. But in fact it is an entire board. But I don't see reference to ethernet in the product page .

Yes, it is Ethernet. The Board has an optional PoE Add-on => https://riverdi.com/product/stm32h7-poe-add-on

 

 

I'm interested to see the source code of the LwIP and ethernet part for the RVT70HSSNWC00 and the PoE add-on. Does it come from Riverdi or is it a custom development ? Is it publicly available ? I didn't find sources on Riverdi site nor their github account.