ZHCA999D October   2016  – March 2020 MSP430FR5969 , MSP430FR5969-SP , MSP430FR5994 , MSP430FR6989

 

  1.   MSP430FRBoot - 适用于 MSP430™ FRAM 大型存储器型号器件的主存储器引导加载程序和无线更新
    1.     商标
    2. 1 简介
      1. 1.1 术语表
      2. 1.2 约定
    3. 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 FRAM 器件中的中断矢量
      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 UART
          2. 2.4.1.2 SPI
          3. 2.4.1.3 CC110x
          4. 2.4.1.4 通信共享
        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 采用 UART 或 CC110x 的示例
    4. 3 定制 MSP430FRBoot
      1. 3.1 预定义的定制
    5. 4 构建 MSPBoot
      1. 4.1 LaunchPad™ 开发套件硬件
      2. 4.2 CC110x 硬件
      3. 4.3 软件
        1. 4.3.1 构建目标软件
        2. 4.3.2 转换应用程序输出映像
        3. 4.3.3 生成链接器文件
    6. 5 将 FRAM LaunchPad 开发套件用作主机的演示
      1. 5.1 硬件
      2. 5.2 构建主机项目
      3. 5.3 运行演示
    7. 6 将目标端示例项目移植到其他 MSP430FR 器件
    8. 7 参考文献
  2.   修订历史记录

定制 MSP430FRBoot

MSPBoot 的设计重点是低成本和小占位空间;但是,某些 应用 需要具有更高级别的安全性和稳健性,或者增加新的功能。根据应用要求,已将不同级别的定制添加到 MSP430FRBoot 代码中,并且可以根据特定需求进行调整。可通过添加适当的文件或通过启用或禁用预处理程序定义来选择这些选项。Table 7 列出了可以在 TI_MSPBoot_Config.h 中配置的选项。

Table 7. 可选配置

说明
NDEBUG
已定义 忽略 ASSERT_H 函数。启用看门狗。
未定义 调试期间使用。选中 ASSERT_H 函数。禁用看门狗。
CONFIG_MI_MEMORY_RANGE_CHECK
已定义 确认要擦除或编程的地址在应用程序区域内。
未定义 不验证要擦除或编程的地址。主机必须发送正确的地址。
CONFIG_APPMGR_APP_VALIDATE
1 通过检查其复位矢量来验证应用程序。
2 通过检查 CRC_CCITT 来验证应用程序。
CONFIG_CI_PHYDL_COMM_SHARED
已定义 通信接口 PHY-DL 层与应用程序共享。
未定义 CI PHY-DL 不与应用程序共享。
CONFIG_CI_PHYDL_TIMEOUT
已定义 在 CI PHY-DL 中检测超时。
未定义 CI PHY-DL 不检测超时。
CONFIG_CI_PHYDL_ERROR_CALLBACK
已定义 在检测到超时错误时,将调用回调函数。
未定义 在检测到超时时,不调用回调函数。

如果要选择其他定制方案,可通过在项目中添加和使用适当的文件来实现。Table 8 列出了项目中可互换的文件。

Table 8. 定制文件

文件 说明
CI PHY-DL
TI_MSPBoot_CI_PHYDL_USCI_UART.c 使用 eUSCI 作为 UART
TI_MSPBoot_CI_PHYDL_CC1101.c 使用 CC110x
MI
TI_MSPBoot_MI_FRAM.c 用于对应用程序 FRAM 进行编程的 API
TI_MSPBoot_MI_FRAMDualImg.c 在 FRAM 中实现双映像的 API
应用管理器
TI_MSPBoot_AppMgr.c 标准应用管理器
TI_MSPBoot_AppMgrDualImg.c 可支持双映像的应用管理器