Kinetis Bootloader 总结

Document created by Wenxue Wang Employee on Jan 19, 2015Last modified by Wenxue Wang Employee on Feb 21, 2016
Version 8Show Document
  • View in full screen mode

Bootloader是一种面向用户应用程序的引导代码,可以在没有烧写器的情况下烧录用户程序,也可以用于在线更新程序。飞思卡尔提供了三种实现bootloader的方式,分别为:

1.预烧写在ROM中的bootloader

    这种方式是MCU中内置了专用的ROM来存放bootloader,目前支持ROM型bootloader的Kinetis系列MCU包括KL03,KL17,KL27和KL43等。其中KL03和KL17的ROM bootloader包含SPI/UART/IIC三种接收方式,KL27和KL43还增加了USB的方式。

 

2.预烧写在FLASH中一次性bootloader

    这种类型的bootloader在芯片出厂前预写在FLASH中,因此可以像ROM型bootloader一样直接使用。但与ROM型不同的是,上电后bootloader会从FLASH搬移到RAM 中运行,再将FLASH整片擦除并烧写用户程序,因此这种bootloader是一次性的。其优点是不需要片内ROM且方便量产烧写,缺点是无法支持以后的程序更新。目前支持预烧写在FLASH中一次性bootloader的Kinetis系列MCU包括K22、K24和KV3x等。

 

3.开放源码的bootloader

    这种方式将FLASH空间分为两个部分,一部分用于存储bootloader代码;另一部分用于存储用户应用程序代码。这种方式的bootloader方便客户定制自己的代码。

    目前飞思卡尔提供开放源代码的Kboot,支持UART/SPI/IIC/USB HID 几种接口方式,其网址链接为:

    www.freescale.com/kboot

    除了Kboot,还有以下独立版本的bootloader,包括:

    1)AN2295(开发人员的串行引导加载程序)

        文档下载地址为:http://cache.freescale.com/zh-Hans/files/microcontrollers/doc/app_note/AN2295.pdf

        代码下载地址为:http://cache.freescale.com/files/microcontrollers/doc/app_note/AN2295SW.zip

       另外FAE Yang Liang 对其进行了移植,目前已经支持FRDM-KE02,KE06,KL25,KL26,KL43,KL46, TWR-K60, KV4x, KV10.下载地址为:Kinetis/AN2295_Bootloader · GitHub

    2)AN4767 (Kinetis E 系列上的UART Boot Loader 设计

        文档下载地址为:http://cache.freescale.com/zh-Hans/files/32bit/doc/app_note/AN4767.pdf

        基于AN2295,没有提供代码。

    3)AN4775 (Kinetis E 系列上的IIC Boot Loader设计

        文档下载地址为:http://cache.freescale.com/zh-Hans/files/32bit/doc/app_note/AN4775.pdf

        代码下载地址为:http://cache.freescale.com/files/32bit/doc/app_note/AN4775SW.zip

    4)AN4368 (USB 大容量存储设备主机引导加载程

         文档下载地址为:http://cache.freescale.com/zh-Hans/files/microcontrollers/doc/app_note/AN4368.pdf

         代码下载地址为:GitHub - Wangwenxue/USB_MSD_Host_Bootloader_K60: This is usb msd Bootloader for K60 (For K60)

                                       GitHub - Wangwenxue/USB_MSD_Host_Bootloader_K64: This USB MSD bootloader for K64 (For K64)

    5)AN4379  (Freescale USB大容量存储设备引导加载程序

         文档下载地址为:http://cache.freescale.com/zh-Hans/files/microcontrollers/doc/app_note/AN4379.pdf

         代码下载地址为:http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4379SW.zip

    6)AN4764   (USB Human Interface Device Boot Loader for ColdFire Plus, Kinetis K, and Kinetis L MCUs

         文档下载地址为:http://cache.freescale.com/files/32bit/doc/app_note/AN4764.pdf

         代码下载见附件

    7)AN4370   (用于 MCU 的 USB DFU 引导加载程

        文档下载地址为:http://cache.freescale.com/zh-Hans/files/microcontrollers/doc/app_note/AN4370.pdf

        代码下载地址为:http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4370SW.zip  

    8)AN4367   (用于 MCU 的 以太网引导加载程

        文档下载地址为:http://cache.freescale.com/zh-Hans/files/microcontrollers/doc/app_note/AN4367.pdf?fromsite=zh-Hans

        代码下载地址为:http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4367SW.zip

        最新的代码请到FNET官网下载:http://fnet.sourceforge.net/

   9)Kinetis Bootloader to Update Multiple Devices in a Network - for Cortex-M0+

        代码及文档下载地址为:https://community.freescale.com/docs/DOC-328168

 

 

 

     

  

  

Outcomes