SPRACT3A September   2020  – June 2026 F29H850DM , F29H850TU , F29H859TU-Q1 , F29P329SM-Q1 , F29P589DM-Q1 , F29P589DU-Q1 , TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137 , TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S , TMS320F28P550SG , TMS320F28P550SJ , TMS320F28P559SG-Q1 , TMS320F28P559SJ-Q1 , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1 Introduction
  5. 2 Secure Flash Boot Overview
  6. 3 CMAC Authentication
  7. 4 Secure Flash Boot Options
  8. 5 Secure Flash Boot Flow
  9. 6 C2000Ware Example Details
  10. 7 Authenticating Flash Code Beyond 16 KB
  11. 8 Debug Resources
  12. 9 Additional Information and Points to Consider
  13. 10Alignment of C2000 CMAC Algorithm to OpenSSL
    1. 10.1 C28x Memory and Binary File Byte Ordering
    2. 10.2 Flash Binary Byte Ordering
    3. 10.3 CMAC Key Byte Ordering
    4. 10.4 CMAC Output Alignment Procedure
    5. 10.5 Worked Example
    6. 10.6 Summary of Differences
  14. 11References
  15. 12Revision History

Additional Information and Points to Consider

  • Although not recommended, if secure flash boot is performed on CPU2/CM and not on CPU1, then a dummy load must be performed from CPU1 for the Z1 OTP CMACKEY before releasing CPU2/CM out of reset. The dummy load is done by reading the 0x78018-0x7801F locations of CPU1 USER OTP.
  • Similarly, if using the CMAC Authentication APIs without running the secure flash boot mode on CPU1, then a dummy load must be performed from CPU1 for the Z1 OTP CMACKEY before calling the APIs.
  • While using Secure Flash Boot on CPU1, it is recommended not to have a normal (non-secure) Flash Boot mode to the same sector configured in the BOOTDEF table.
  • For authenticating flash code beyond 16 KB:
    • The 128-bit golden CMAC tag must be stored inside of the memory address range that the calculation is performed on.
    • The starting address of the golden CMAC tag must align to a 32-bit boundary.
  • As the boot mode settings reside in the One Time Programmable (OTP), it is recommended to make use of the emulation boot mode for trials before freezing the boot related configuration. More information regarding the Emulation boot is provided in the ROM Code and Peripheral Booting chapter of the TMS320F2838x Technical Reference Manual [1].