SPRADN0 December   2024 F29H850TU , F29H859TU-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Programming Fundamentals
  5. 2Introduction
    1. 2.1 Hardware Security Module
    2. 2.2 ROM Bootloader
    3. 2.3 Combined Image with X.509 Certificate
  6. 3Flash Kernel Implementation
    1. 3.1 CPU1 Firmware Upgrade (HS-FS)
    2. 3.2 Key Provision (HS-FS to HS-KP)
    3. 3.3 CPU1 Secure Firmware Upgrade (HS-KP/SE to HS-SE)
    4. 3.4 HSM Firmware Upgrade (HS-KP/SE to HS-SE)
    5. 3.5 SECCFG Code Provisioning (HS-KP/SE to HS-SE)
  7. 4Host Application: UART Flash Programmer
    1. 4.1 Overview
    2. 4.2 Build UART Flash Programmer with Visual Studio
    3. 4.3 Build UART Flash Programmer with CMake
    4. 4.4 Packet Format
    5. 4.5 Kernel Commands
  8. 5Example Usage
    1. 5.1 Loading the Flash Kernel onto the Device
      1. 5.1.1 Hardware Setup
      2. 5.1.2 Running the UART Flash Programmer
    2. 5.2 CPU1 Device Firmware Upgrade (HS-FS only)
    3. 5.3 Convert HS-FS to HS-SE
    4. 5.4 Loading a RAM-based HSMRt Image
    5. 5.5 Key Provision (HS-FS to HS-KP)
    6. 5.6 Code Provision (HS-KP/SE to HS-SE)
  9. 6Troubleshooting
    1. 6.1 General
    2. 6.2 UART Boot
    3. 6.3 Application Load
  10. 7Summary
  11. 8References

Packet Format

Packets are sent in a standard format between the host and device. The packet allows for a variable amount of data to be sent while making sure the correct transmission and reception of the packet. The header, footer and checksum fields help to make sure that the data was not corrupted during transmission. The checksum is the summation of the bytes in the command and data fields.

Note that the a shared f29h85x_kernel_commands_cpu1.h are used by both uart flash kernel and the host programmer to synchronize packet macros such as header, footer, nak, ack, command and status error values. Users are welcome to make new or modifications to existing macros.

Table 4-2 Packet Format
Header Data Length Command Data Checksum Footer
2 Bytes 2 Bytes 2 Bytes Length Bytes 2 Bytes 2 Bytes
0x1BE4 Length of Data in Bytes Command Data Checksum of Command and Data 0xE41B

Both the host and device respond to a packet with an ACK or NAK.

Table 4-3 ACK or NAK Values
ACK NAK
0x2D 0xA5