ZHCAA00E June   2013  – January 2024

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
    1. 1.1 术语表
    2. 1.2 约定
  5. 2执行
    1. 2.1 主例程
    2. 2.2 应用程序管理器
      1. 2.2.1 引导和应用程序检测
        1. 2.2.1.1 强制使用引导加载程序模式
        2. 2.2.1.2 应用程序验证
        3. 2.2.1.3 跳转到应用程序
      2. 2.2.2 矢量重定向
      3. 2.2.3 闪存器件中的中断矢量
      4. 2.2.4 双映像支持
        1. 2.2.4.1 在双映像模式下跳转到应用程序
    3. 2.3 存储器接口 (MI)
      1. 2.3.1 双映像支持
    4. 2.4 通信接口 (CI)
      1. 2.4.1 Physical-DataLink (PHY-DL)
        1. 2.4.1.1 I2C
          1. 2.4.1.1.1 超时检测
        2. 2.4.1.2 UART
        3. 2.4.1.3 SPI
        4. 2.4.1.4 CC110x
        5. 2.4.1.5 通信共享
      2. 2.4.2 NWK-APP
        1. 2.4.2.1 基于 BSL 的协议
          1. 2.4.2.1.1 安全性
          2. 2.4.2.1.2 使用 CC110x 的基于 BSL 的协议
          3. 2.4.2.1.3 采用 I2C 的示例
          4. 2.4.2.1.4 采用 UART 或 CC110x 的示例
  6. 3定制 MSPBoot
    1. 3.1 预定义的定制
  7. 4构建 MSPBoot
    1. 4.1 启动新工程
      1. 4.1.1 创建新的 MSPBoot 工程
        1. 4.1.1.1 MSPBootProjectCreator.pl
        2. 4.1.1.2 在 CCS 中导入工程规范文件
        3. 4.1.1.3 修改生成的源代码
          1. 4.1.1.3.1 修改 MSPBoot Main.c
          2. 4.1.1.3.2 修改 TI_MSPBoot_Config.h
          3. 4.1.1.3.3 修改 TI_MSPBoot_CI_PHYDL_xxxx_xxx.c
          4. 4.1.1.3.4 修改 TI_MSPBoot_AppMgr.c
          5. 4.1.1.3.5 修改 Application Main.c
          6. 4.1.1.3.6 修改 TI_MSPBoot_Mgr_Vectors_xxxx.c
      2. 4.1.2 使用 MSPBoot 加载应用程序代码
        1. 4.1.2.1 转换应用程序输出映像
    2. 4.2 示例
      1. 4.2.1 LaunchPad 开发套件硬件
      2. 4.2.2 CC110x 硬件
      3. 4.2.3 构建目标工程
      4. 4.2.4 构建主机工程
      5. 4.2.5 运行示例
  8. 5参考文献
  9. 6修订历史记录

引言

MSP430 MCU 配备了引导加载程序 (BSL),通过该 BSL 可以轻松进行现场升级。有关 MSP430 BSL 的更多信息,请参阅 MSP430™ 闪存器件引导加载程序 (BSL) 用户指南创建基于闪存的定制引导加载程序 (BSL)。该 BSL 在 MSP430F5xx 和 MSP430F6xx 器件中是可定制的,因为它位于闪存中。

其它系列(例如 MSP430G2xx)具有存储在 ROM 中的 BSL,该 BSL 仅支持 UART,不能进行修改来支持 I2C 或其他接口。鉴于这些限制,有必要创建一个存储在主存储器中并有助于轻松实现应用程序的引导加载程序。

本应用报告介绍如何实现名为 MSPBoot 并具有以下特征的引导加载程序:

  • 占用空间小(所需大小小于 4KB)
  • 整合了 20 位和 16 位,分别用于大型存储器模型器件和小型存储器模型器件
  • 支持 USI、USCI 和 eUSCI 外设
  • UART 通信使用较小的存储空间提供最简单的有线接口
  • SPI 总线提供无线下载(使用 CC110x),占用空间稍大
  • 不同的选项支持可定制的稳健性级别
  • 可选的双映像支持可应对通信中断问题
  • 允许在应用程序中使用所有中断
  • 应用程序可以选择重复使用引导加载程序中的低级通信驱动程序,也可以实现自己的驱动程序
  • 可配置的Boot进入方式
  • 使用 CRC-CCITT 对应用程序进行可选的验证
  • 提供源代码,允许进行其他定制

该引导加载程序随附源代码,其中包括不同示例配置、应用程序示例和主机示例,以便简化测试、定制和实现。本应用报告假定您已了解 I2C、UART 和 SPI 规范以及低于 1GHz 射频通信协议。