I am still having problems with the STM32F303 bootloader.
- External 24MHz CMOS oscillator
- 1.5kohm pullup on USB_DP
- USB working perfectly (in the application: no issues whatsoever, tens of boards deployed)
- BOOT0 pin pulled up
On 3 out of 6 boards, the USB does never get enumerated. The boards keep resetting randomly - the reset is software.
On 2/6 boards everything works reliably, while the other board works "sometimes".
The HSE ready bit in RCC_CR is 1, and it seems to stay that way (the HSE bypass bit in RCC_CR is 0 - can it be a problem with an external oscillator?).
I have no clues. What I have discovered is that only at times the FW tries to configure the USB - at times it skips it. At times the FW ends in a loop where it keeps resetting the watch dog, at times it ends in a loop where it reads pin status from GPIOA and GPIOD. Most of the times it simply reset.
I cannot find out what causes this reset - all the vectors bring to 0x1fffed10. And, by the way, stepping through asm code can be very tiring. ;-)