Replies: 1 comment 4 replies
-
|
Do you use STM32F446 with an external phy, otherwise it only has FS. Normally STM32F446 should work based on comments.
It's normal, ST only document a subset of registers, the full DWC2 core databook is under NDA. You can try to use CubeMX to generate a USB enabled project and copy the clock/gpio settings. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I just got hold of an STM32F446 board and am trying to get TinyUSB up and running as a HS device on it.
(I was running a STM32F103 but ran out of horse power, so upgraded to an STM32G431 but then ran out of flash... hence moving to F446 which has a substantially different USB interface).
a) Am I correct in thinking TinyUSB works for STM32F446? (its marked on the home page as working for STM32F4 - but does this include F446?
So far STM32F446 USB is not working, so have been stepping thru the TinyUSB init code to figure out what I am missing or have configured wrong - but I have found several disparities between the STM32F446 reference manual USB registers and the TinyUSB dwc2 code.
b) "dwc2_common.c" check_dwc2() uses registers gsnpsid, ghwcfg1..3 (offsets 040 .. 04C), but they are not listed in the STM32 manual (section 31.15.15, page 1127 of RM0390 Reference Manual, STM32F446xx).
c) "dcd_dwc2.c" dma_device_enabled() uses register ghwcfg2 (offset 48) to determine if DMA is enabled, but for the STM32F446 according to the manual the DMA flag is in the AHB configuration register gahbcfg (offset 08).
If someone can confirm TinyUSB will work for the STM32F446, or if its partially working at least it gives me an idea as to how to go forward (either figuring out an incorrect configuration for s/w or h/w, or implementing whats missing \ getting it to run full stop.
Thanks.
Beta Was this translation helpful? Give feedback.
All reactions