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修订历史记录

通信共享

用户应用程序可以根据需要使用通信接口(I2C、UART、GPIO 或其他用途),因为当 MCU 跳转到应用程序时,资源将被释放。根据需要,CI PHY-DL 可与应用程序共享,从而允许其使用同一个通信接口并减少应用程序占用空间。启用此功能后,引导加载程序将共享表 2-3 中的函数指针。

表 2-3 Boot2App_Vector_Table 定义
Boot2App_Vector_Table此表包含共享 CI PHY-DL 函数的地址
TI_MSPBoot_CI_PHYDL_Init用于初始化 PHY-DL 的函数,该函数将一个指针传递给应用程序 t_CI_Callback。
TI_MSPBoot_CI_PHYDL_Poll此函数检查所有相关标志并在需要时调用相应的回调
TI_MSPBoot_CI_PHYDL_TxByte (1)用于写入 TX 缓冲区的函数
仅为 SPI 和 UART 实现回调,I2C 不需要。

应用程序必须声明自己的回调,这些回调在 CI PHY-DL 初始化期间传递,并在检测到相应事件时调用。PHY-DL 层的设计将占用空间小作为最重要的一个考虑因素。如果 PHY-DL 的实现不够充分,应用程序始终可以实现自己的驱动程序。随附软件包中的应用程序 2 示例展示了如何共享 CI PHY-DL。