But the USB system needs a clock at 48 Mhz and there are no two ways about it. We have to "make it so". And the USB system on our F429 board does not work, so this clearly needs to be addressed.
The F411 has a max CPU clock of 100 Mhz (but we run it at 96 Mhz). The F429 has a max CPU clock of 180 Mhz. We won't be able to run it that fast and get USB to work, because of the need for that 48 Mhz clock. It looks to me that 168 Mhz will work out. The actual truth is that an intermediate clock running at twice that rate (336 Mhz) can be divided by 7 to give us 48, and when divided by 2 gives us 168.
As a matter of interest 336 factors to 2 * 2 * 2 * 2 * 3 * 7.
We can divide it neatly to get 16, but not 32.
We might like to try 192 Mhz as a CPU clock, and we might get
away with it, but it would be over the legal limit of 180.
MCO1 - PA8 as AF 0 MCO2 - PC9 as AF 0
All GPIO come up with AF 0 selected, so we may not need to do anything to get MCO output on these pins.
These are side by side on the P1 connector on the discovery board.
Amazingly, these are configured by the RCC "conf" register at offset 8. Each has a 3 bit field to configure a prescaler (1 to 5 as per the block diagram above). Each also has 2 bit field to select one of four sources.
The idea is to set up these MCO output and use a scope to look at the clocks that are generated!
Tom's Computer Info / tom@mmto.org