ZHCACV0 july   2023 MSPM0L1306

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2LFU 引导加载程序功能概述
  6. 3硬件和软件设置
    1. 3.1 硬件要求
    2. 3.2 软件设置
  7. 4LFU 引导加载程序实现
    1. 4.1 LFU 引导加载程序和应用项目
    2. 4.2 内存分配
    3. 4.3 已实现的 LFU 引导加载程序
    4. 4.4 LFU 应用代码实现
      1. 4.4.1 应用的链接器命令文件
      2. 4.4.2 外设和中断初始化
      3. 4.4.3 应用项目调试
    5. 4.5 调用固件升级过程
  8. 5主机 GUI 工具简介
    1. 5.1 LFU 固件更新
    2. 5.2 应用项目链接文件生成
    3. 5.3 非主闪存配置固件生成
      1. 5.3.1 生成非主闪存配置固件的步骤
      2. 5.3.2 用于对 NONMAIN 闪存配置数据进行编程的 UNIFLASH 工具
  9. 6LFU 引导加载程序协议
    1. 6.1 数据包格式和内核命令
    2. 6.2 LFU 引导加载程序中的特殊命令
    3. 6.3 主机器件固件升级流程
  10. 7迁移到其他 MSPM0 器件
  11. 8参考文献

已实现的 LFU 引导加载程序

需要一种任务切换管理工具,以便应用代码在固件升级过程中保持执行。在本应用手册中,FreeRTOS 用于处理此作业,并为此演示创建四项任务。

表 4-2 LFU 引导加载程序中的任务
任务名称 优先级 说明
引导加载程序任务 2 处理固件升级的任务。如果应用代码正在执行,此任务将挂起。
LED0 切换任务 1 每 500ms 切换一次 LED 的任务,这用于表明 FreeRTOS 正在正常工作。
应用任务 1 执行应用代码的任务。
空闲 0 当没有任何其他任务等待执行时的默认任务。

在新器件上,需要首先通过 SWD 接口对引导加载程序固件进行编程,以便引导加载程序与主机(PC GUI 或主机 MCU)通信,并更新应用代码。还可以通过 SWD 将应用代码与引导加载程序固件一起进行编程。

当器件启动并且没有应用代码时,引导加载程序等待来自主机的固件升级命令。

图 4-2 展示了引导加载程序流程图。

GUID-20230421-SS0I-FLC4-P79W-XZ0LHZGD5ZTC-low.svg图 4-2 引导加载程序代码进度图

引导加载程序支持以下命令。相关详细信息,请参阅节 6

  • CMD_UNLOCK_BSL
  • CMD_FLASH_RANGE_ERASE
  • CMD_PROGRAM_DATA
  • CMD_START_APPLICATION