crystal-less operation on K64F (using 48 MHz IRC)

Showing results for 
Search instead for 
Did you mean: 

crystal-less operation on K64F (using 48 MHz IRC)

Contributor IV

Hello all!


I've got a Freedom K64F evaluation board and I want to make the MCU run without utilizing the external 50MHz (or whatever else) crystal in the ethernet chip. So it must be able to generate the clock from internal oscillators, up to the max nominal 120 MHz value.


Considering the examples in KSDK_1.2.0/examples/frdmk64f they look quite good to me. As I wanted to avoid digging into the very details of oscillators and clock generation of K64F, I'm at the moment not able to fill such clock_manager_user_config_t structure (provided by KSDK) correctly for all my use cases - but this would be the preferred way to me.


Instead I've decided to click the settings in Processor Expert, have it generated the sources and add those files to my project. It appeared to be the faster way (maybe I was wrong...)


This approach seemed to be alright, since I was able to create the following clock configurations:

- 4MHz using fast internal oscillator;

- 48MHz using slow internal oscillator;

- 96MHz using slow internal oscillator;


The final goal is to reach 120MHz without any external crystal. This can be achieved by the USB 48MHz clock, and of course I've read through AN4905, but still can't make the MCU run from that 48 MHz oscillator. Furthermore, I saw this article as well, still no success. I don't know what I'm doing wrong. When I modified the settings in Processor Expert to switch from e.g. 4MHz to 48MHz, it only altered CPU_Config.h and it was enough to update that file in my project and it worked. Similarly done for the USB 48MHz oscillator case, the board freezes somewhere and not running at all. I have tried many USB 48 MHz configurations, neither of them worked.


Please help me by reviewing my settings or by providing a working KSDK/clock_manager_user_config_t based configuration (or by any other means )




Thanks a lot!

Labels (1)
0 Kudos
3 Replies

Senior Contributor II

Hello Tamas,

I configured a FRDM-K64F as you want and it works fine. I attach the KDS project. I configured the core clock at 120 MHz, the FlexBus clock that is configured at 60 MHz can be seen in an scope in the pin PTC3 (J1-16).

Hope it helps.

Best regards,


0 Kudos

Contributor II

Hello, do you have an example of this using the standard kinetis sdk structure? As in with clock_manager_user_config_t, and osc_user_config_t? Thanks

0 Kudos

Senior Contributor II

Did you manage to get the standard SDK set up to do this?

I am really suprised they give no examples of how to set this up using the SDK. I really dont want to have to learn all the details just to use the perihperal, its really why we have drivers so I dont need to dive deep into module inernal operation... Surely there is an example of using the internal oscillators to run these processors...

0 Kudos