cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H7 USB OTG HS: Four highest OTG_HS_DIEPTXF registers mirror the low ones

jcarlson
Associate

I am trying to set the FIFO sizes for an application that uses 6 bulk IN endpoints. When I write to OTG_HS_DIEPTXF1, it appears that OTG_HS_DIEPTXF5 takes on the same value. Same for DIEPTXF6 taking on the value of DIEPTXF2, and for DIEPTXF7 taking on the value of DIEPTXF3. Writes to DIEPTXF4, 5, 6, and 7 are ignored.

This is not a compiler/software bug, as I can duplicate it by simply using the memory window in my IDE to modify the registers and see duplicate values appear after the write. I didn't see this in the Errata, so I'm wondering if anyone else has had this issue?

I'm using the OTG_HS peripheral of the STM32H750XBHx with an external PHY attached in HS mode.

(One other note: according to the reference manual, the SVD file currently distributed with STM32CubeIDE has an incorrect address offset for OTG_HS_DIEPTXF3: it should be 0x10C, not 0x11C).

1 REPLY 1
Imen Ezzine
ST Employee

Hi jcarlson,

Thank you for reporting the issue related to the SVD file.

I believe when you try to set the different values for your application you use the SFR view? So if there is wrong definition in the SVD file this would explain the wrong values you see. You can verify by modifying directly in the memory address.

It will help if you can precise the name/version of the SVD file with the error in order to fix this in upcoming releases for STM32CubeIDE.

Thank you,

-Imen