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总结

总结

对系统实施有效的保护措施继续成为系统设计人员需要优先考虑的事项。本应用报告和相关的配套资料旨在提供可考虑用于 TM4C 微控制器的合理选项。利用 EEPROM 进行密钥存储、使用哈希签名验证固件映像以及锁定 JTAG 访问等技术,都可以增加对系统的保护,使其免受单纯或意外覆盖代码映像行为的影响。这些概念适用于所有引导加载程序选项,只要重点是确保映像传输能够以验证所有数据包都已正确接收的方式进行。虽然本应用报告的重点集中在具有硬件 AES 加密外设的器件上,但同样的概念可应用于所有 TM4C 器件,前提是使用软件 AES,弊端是代码空间需要额外的成本,引导加载过程的执行速度也比较慢。最终,定义合适的系统保护所需的安全措施标准及评估正确的实施以满足这些要求,都取决于系统设计人员。