It has USART1 on PA9/PA10 and USB on PA11/PA12. When we ported it to ChibiOS (based on 17.6.0 with a few patches) I found that both USART1 and USB did startup, but the USB would disconnect and reconnect from a Linux host whenever a byte was written to USART1_TX.
I then experimented some more and found that even if I didn't setup USART1 as a USART, and instead set it up as a GPIO output, that if I pulled it low then the USB would disconnect. It would reconnect when PA9 was pulled high. Yes, I did check that RTS and CTS were disabled on the UART.
This had been driving me nuts till I discovered today that if I changed the stepping for the ChibiOS OTG driver that it all worked fine. I made the following change:
https://github.com/ArduPilot/ChibiOS/co ... d41420298b
I guess that means one of two things:
- the stepping of the STM32F405 really is 2
the stepping is 1, but there is some weird interaction between the code for stepping 1 and the PA9 pin
Cheers, Tridge