Bootloaders available for KW platforms

Document created by Juan Carlos Pacheco Employee on Aug 7, 2018Last modified by Juan Carlos Pacheco Employee on Aug 16, 2018
Version 4Show Document
  • View in full screen mode

General summary

MCUBOOT, fsci_bootloader and otap_bootloader are 3 different bootloader applications that can be used depending on the use case. The MCU Flashloader is a separate implementation but it's also mentioned to avoid misunderstanding.

 

MCUBOOT

The MCU bootloader provides support for multiple communication protocols (UART, SPI, I2C, CAN) and multiple applications to interface with it.

Summary:

- It's a configurable flash programming utility that operates over a serial connection on several Kinetis MCUs.
- Host-side command line (blhost) and GUI tools are available to communicate with the bootloader. 

-  By default, application starts at address 0xa000.

- MCU Bootloader|NXP website

- MCU Bootloader Reference Manual

- MCU Bootloader Demo Application User's Guide

 

fsci_bootloader

Framework Serial Connectivity Interface (FSCI) is an NXP propietary protocol that allows interfacing the Kinetis protocol stack with a host system or PC tool using a serial communication interface. The FSCI bootloader enables the FSCI module to communicate with the PC and transfer the image using the FSCI protocol.

Summary:

- It relies on the FSCI protocol to transfer the binary from a PC connected via UART, using a python and C applications.

- To enter into bootloader mode (in FRDM-KW41Z), hold SW1 (Reset) and press SW4, then release SW1 first and SW4 second. Please refer to demo user's guide to get the specific steps for your platform.

- By default, application starts at 0x4000.

- FSCI Bootloader Manual

 

otap_bootloader

The Connectivity SDK contains Over-the-Air firmware upgrade examples. The OTAP bootloader loads an image obtained from wireless communication, the OTAP bootloader only enters after an image was successfully transferred to the client device (internal or external flash).

Summary:

- It's used by over the air programmed devices.

- The bootloader mode only enters if a flag is set after reset triggered by a successful reception of an image over the air.

- By default, application starts at 0x4000.

- Kinetis Thread Stack Over-the-Air (OTA) Firmware Update User’s Guide

 

mcu_flashloader

The MCU flashloader is a specific implementation of the MCU bootloader. For the flashloader implementation, the MCU bootloader command interface is packaged as an executable that is loaded from flash and executed from RAM. This configuration allows the user application to be placed at the beginning of the on-chip flash where it is automatically launched upon boot from flash. Using the MCU flashloader to program a user application to the beginning of the flash makes this implementation of the bootloader a one-time programming aid. The MCU flashloader doesn't allow to jump to a different section after a timeout or button press like the other bootloaders, it's main purpose is to flash an application without the need of an external debugger, mainly used for factory programming.
Summary:

- It is pre-programmed into many Kinetis flash devices during manufacturing and enables flash programming without the need for a debugger.

- After the user application is programmed into flash memory, the Kinetis flashloader is no longer available.

- Documentation: Getting Started with the MCU Flashloader

 

You can select from the MCU Bootloader, FSCI_Bootloader and OTAP Bootloader, depending on your needs.

 

JC

4 people found this helpful

Attachments

    Outcomes