ZHCABH7 January   2022 TM4C129CNCPDT , TM4C129CNCZAD , TM4C129DNCPDT , TM4C129DNCZAD , TM4C129EKCPDT , TM4C129ENCPDT , TM4C129ENCZAD , TM4C129LNCZAD , TM4C129XKCZAD , TM4C129XNCZAD

 

  1.   摘要
  2.   商标
  3. 1实现
    1. 1.1 闪存引导加载程序项目
      1. 1.1.1 对示例项目 boot_serial 的变更
        1. 1.1.1.1 对 bl_config.h 的变更
        2. 1.1.1.2 添加的新函数
          1. 1.1.1.2.1 MyCheckUpdateFunc
          2. 1.1.1.2.2 MyReinitFunc
          3. 1.1.1.2.3 MyEndFunc
          4. 1.1.1.2.4 MyDecryptionFunc
    2. 1.2 映像创建项目
    3. 1.3 密钥映像工程
    4. 1.4 EK-TM4C129EXL 示例应用程序项目
    5. 1.5 DK-TM4C129X 示例应用程序项目
    6. 1.6 基于 RAM 的 EEPROM 擦除项目
  4. 2示例走查
    1. 2.1 编译环境
    2. 2.2 将示例导入 Code Composer Studio
    3. 2.3 设置密钥和变量
      1. 2.3.1 密钥
      2. 2.3.2 初始化矢量
      3. 2.3.3 应用程序起始地址和闪存大小
        1. 2.3.3.1 APP_BASE
        2. 2.3.3.2 APP_END
        3. 2.3.3.3 RAM_BASE
    4. 2.4 运行 shared_key_image_encrypt 工具
    5. 2.5 运行共享密钥串行引导加载程序
      1. 2.5.1 对引导加载程序进行编程
        1. 2.5.1.1 擦除现有代码和密钥
          1. 2.5.1.1.1 使用 Code Composer Studio 擦除闪存和 EEPROM
          2. 2.5.1.1.2 使用解锁程序擦除闪存和 EEPROM
        2. 2.5.1.2 使用 ROM 引导加载程序对共享密钥引导加载程序进行编程
      2. 2.5.2 使用共享密钥引导加载程序对应用程序代码进行编程
    6. 2.6 返回引导加载程序
  5. 3总结

使用共享密钥引导加载程序对应用程序代码进行编程

现在可以使用 LM Flash Programmer 将加密的应用程序代码编程到器件中。由于密钥现在处于隐藏状态,可以在现场或工厂中安全性稍差的地方完成此操作。

  1. 在 LM Flash Programmer 的配置选项卡上,必须选中“Disable Auto Baud Support”,并且必须将波特率设置为文件 bl_config.h 中选择的值。本例中使用了 460800。
    GUID-20211209-SS0I-T9PF-HWTQ-NP78LKFB76NG-low.png图 2-19 配置 LM Flash Programmer 以对应用程序代码进行编程
  2. 在“Program”选项卡上,选择加密的应用程序文件。本例中使用了 shared_key_boot_demo\Debug\shared_key_boot_demo_encrypted.bin
    GUID-20211209-SS0I-P1WB-6NFC-7DBSRX0ZHRMJ-low.png图 2-20 使用 LM Flash Programmer 对应用程序代码进行编程
  3. 点击“Program”按钮。

在 1MB 器件上对应用程序代码空间进行编程大约需要 100 秒。shared_key_boot_demo 应用程序运行时,LED1 会闪烁。