SDAA450 July   2026 AM2431 , AM2432 , AM2434 , AM2752-Q1 , AM2754-Q1 , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1 Introduction
  5. 2 Mechanism of ENET FOTA
  6. 3 Ethernet Setup
    1. 3.1 Linux System
    2. 3.2 Windows System
  7. 4 Authenticated FOTA
    1. 4.1 Signing the Firmware
  8. 5 Encrypted FOTA
    1. 5.1 Signing and Encrypting the Firmware
  9. 6 Software Structure
    1. 6.1 AM243x/AM64x
    2. 6.2 AM275x
  10. 7 Expected Outputs
    1. 7.1 AM243x/AM64x
    2. 7.2 AM275x
  11. 8 Performance Metrics
  12. 9 Summary
  13. 10References

Signing and Encrypting the Firmware

To encrypt the application image to be transferred, run the following python script with the mentioned arguments:

For AM243x/AM64x devices:

  • Change the directory to: ${MCU_PLUS_SDK_PATH}/source/security/security_common/tools/boot/signing
  • Run the following command:

    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) and $(APP_ENCRYPTION_KEY) can be found in devconfig.mak and the corresponding key based on the device being used can be selected.

For AM275x devices:

  • Change the directory to: ${FreeRTOS_SDK_PATH}/tools/boot/signing/appimage
  • Run the following command:

    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) and $(APP_ENCRYPTION_KEY) can be found in devconfig.mak and the corresponding key based on the device being used can be selected.

Note: For Authenticated and Encrypted ENET FOTA, signing the new application image with an x509 certificate is a must. This is the recommended practice as the authentication performed on the application side treats the new application image along with the extra certificate as a single blob. This blob is then authenticated, and the extra certificate is stripped out before performing Flash writes. If the new application image does not have the extra certificate, then the logic for removing the extra certificate should be removed in the enet_fota_app.c file. If this is not removed, then the original certificate would be stripped out and the subsequent boot will result in a failure.