Kinetis Software Optimization

Download curriculum

This course provides all necessary theoretical and practical know-how to enhance performance with the Kinetis family.

The course provides an in-depth overview of the key points that a software developer has to take into his considerations while developing software for Cortex-M4.

The course also includes practical labs in which the software engineer can experience with the optimization process on Tower and Freedom evaluation boards.

The course starts with an overview of the key elements that can be optimized such as buses, SRAM frontdoor and backdoor, arbitration, cache coherency, FMC configuration, cross bar switch (AXBS), Cortex-M4 processor, coding style, interrupts and exception handling, DSP, compiler and linker.

The course continues with in-depth code examples for each element, provides useful tips for real programming situations, and deals with mixing C and Assembler languages.

The course also covers the CMSIS (Cortex Microcontroller Software Interface Standards) and CMSIS-DSP. In addition RTOS implications are also discussed.

At the end of this course, the participant will enhance his programming development skills, his understanding of the architecture features, and optimize the Kinetis SoC key elements.

  1. Optimize Kinetis system performance

  2. Optimize code for Cortex-M4

  3. Use efficiently optimization options in the compiler

  4. Define optimized interrupt and exception handling strategy

  5. Understand on-chip memory cons and pros and best location for code and data location for highest performance 

  6. Configure FMC in the most optimal way including cache policy

  7. Use CMSIS and CMSIS-DSP libraries

  8. Mix C and assembly languages

  9. Write an efficient DSP code

  10. Be familiar with OS support features


Software engineers who would like to enhance their programming skills, in order to get the maximum performance from the Kinetis SoC devices.

  1. Hardware: K64 Tower evaluation board, K64 Freedom evaluation board, Keil Ulink-Pro or ULINK-ME

  2. Software: Keil MDK verison 5

  3. Course and labs books

Next course will be held on:
November 4-6th