What are my goals? I would like to continue learning about USB. Little learning of any quality takes place without doing, so I want to learn about USB by writing a driver for the F411.
I did quite a bit of USB work in 2023 with the F103. The USB subsystem in the F411 is totally different! For one thing it is "OTG" -- which is "on the go", meaning that it can act either as a USB host or device. I have every intention of ignoring the business of using it as a host. The F103 was device only.
The USB in the F411 was designed by Synopsys. Synopsys seems to be in the business of designing USB controllers. Many USB controllers in bigger ARM devices I have are USB 3.0 controllers designed by Synopsys. In general, I hate these because documentation is unavailable, at least to an ordinary person like myself. The only source of information for these USB 3.0 controllers is to study the open source linux drivers. Happily that is not the problem here. The TRM for the F411 has over 100 pages on the USB controller. It is possible that things I learn about it will be useful someday if I tackle one of their undocumented USB 3.0 controllers.
Or should I make the most of my investment with the "stm32duino" driver I spliced into Hydra and use it to educate myself about the F411 hardware. I have put significant time and effort into adapting the stm32duino driver to my way of dealing with things, renaming files and cleaning up the directory structure. I also have some mental resources invested in the style used in the stm32duino code base.
I have decided to build on this investment and continue my study of the stm32duino code.
Tom's Computer Info / tom@mmto.org