The ARM Cortex-M4F on the Freescale FRDM-K64F board can run up to 120 MHz. Here is how to get it running with maximum speed:
The K64F processor on the board has many clock options:
The RTC oscillator (EXTAL32, XTAL32) clock on the board is a 32 kHz oscillator:
The Y3 is nearby the CPU:
This clock can be used with the FLL, but does not allow a system clock above 100 MHz :-(.
Instead, the System Oscillator block can be used (EXTAL0/XTAL0):
The XTAL0 is connected to ground, and EXTAL0 is connected to the Micrel Ethernet PHY chip which has a 25 MHz crystal attached:
The picture below shows the clock and the PYH:
The important thing to know is that the output clock (REF_CLK) is twice of the 25 MHz clock: a 50 MHz oscillator clock. With this information, I can configure the settings of the CPU in Processor Expert as below to produce a 120 MHz PLL output:
This gives me a 120 MHz core clock:
But there is yet another option :-). If you carefully inspected the clocking block diagram, you should have noticed that there is a 48 MHz internal reference clock. This is something very cool Freescale has finally introduced: with this it is possible to use the K64F for USB operation *without* the need for an external reference clock. And of course this one can be used to reach 120 MHz too. Simply select that 48 MHz clock as reference clock:
So I have two ways on the FRDM board to run the core at 120 MHz now 🙂
And yes, you can try to configure the clocks without Processor Expert too. With Processor Expert it is just a few clicks, while without…. well, try to read and understand the data sheet ;-).
Happy Speeding 🙂