ZHDA246 July   2026 AM2434

 

  1.   1
  2.   摘要
  3.   商标
  4. 简介
  5. ENET FOTA 机制
  6. 以太网设置
    1. 3.1 Linux 系统
    2. 3.2 Windows 系统
  7. 经身份验证的 FOTA
    1. 4.1 对固件进行签名
  8. 加密的 FOTA
    1. 5.1 对固件进行签名和加密
  9. 软件结构
    1. 6.1 AM243x/AM64x
    2. 6.2 AM275x
  10. 预期输出
    1. 7.1 AM243x/AM64x
    2. 7.2 AM275x
  11. 性能指标
  12. 总结
  13. 10参考资料

对固件进行签名和加密

要对待传输的应用映像进行加密,请使用上述参数运行以下 python 脚本:

对于 AM243x/AM64x 器件:

  • 将目录更改为: ${MCU_PLUS_SDK_PATH}/source/security/security_common/tools/boot/signing
  • 运行以下命令:

    python appimage_x509_cert_gen.py --bin </path/to/firmware> --authtype 1 --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --output </path/to/signed_firmware>

    • $(APP_SIGNING_KEY)$(APP_ENCRYPTION_KEY) 可在 devconfig.mak 中找到,并可根据所使用的器件选择相应的密钥。

对于AM275x 器件:

  • 将目录更改为:${FreeRTOS_SDK_PATH}/tools/boot/signing/appimage
  • 运行以下命令:

    python appimage_x509_cert_gen.py --bin </path/to/firmware> --authtype 1 --key $(APP_SIGNING_KEY) --enc y --enckey $(APP_ENCRYPTION_KEY) --output </path/to/signed_firmware> –keyversion 1.5

    • $(APP_SIGNING_KEY)$(APP_ENCRYPTION_KEY) 可在 devconfig.mak 中找到,并可根据所使用的器件选择相应的密钥。

注: 对于经身份验证和加密的 ENET FOTA,必须使用 x509 证书对新应用映像进行签名。建议采用这种做法,因为在应用端执行的身份验证会将新的应用映像以及额外的证书视为单个 blob。然后,对该 blob 进行身份验证,并在执行闪存写入之前剥离额外的证书。如果新应用映像没有额外的证书,则应在 enet_fota_app.c 文件中移除用于移除额外证书的逻辑。如果未移除此逻辑,将剥离原始证书,导致后续的引导失败。