1.2.4 PIC32CX-BZ3 Boot Services Help

The PIC32CX-BZ3 Boot Services is a utility which helps in creating firmware image for programming PIC32CXBZ3 device. This utility (Header, OTA tabs) can be used to append metadata header and OTA headers to an application image

Boot services utility
  • DFP for the PIC32CXBZ3 comes with default device_support.py file that enables Header and OTA tabs within the properties window of an MPLAB X project.

    Please find the description below on the labels.
    Table 1-11. 
    Label NameDescription
    Flash TypeSelect between embedded flash and boot flash
    MD_SEQ_NUMFirmware sequence number
    AUTH_MTHDAuthentication Method. The supported authentication methods are None, ECDSAp384-SHA384 and ECDSAp256-SHA256
    FW_IMG_REVRevision of the firmware. It is in the format of x.x.x.x, where x is value in range 0-255
    Private Key FileKey used for signing the firmware using ECDSA. It is PKCS#8 format. This label is only enabled when authentication mode other than none is chosen

    The complete image including firmware and meta header is signed by the below process

    Boot services help in embedding OTA header information as part of the signed firmware binary image which can be done with OTA tab.

    Output File Type as BLE OTA File

    Output File Type as Zigbee OTA File

Please find the below table which includes the description of the label’s/parameter’s used.
Table 1-12. 
Label NameDescription
Output File NameOutput File Name for the OTA package in binary format
Output File EncryptionOption to choose whether to Encrypt the OTA package or not. Unencrypted /encrypted
AES KeyThis option is enabled only if Output File Encryption is set to encrypted. 128bit AES key to encrypt the OTA package with AES-CBC-128
Init VectorThis option is enabled only if Output File Encryption is set to encrypted.128bit Initial Vector to encrypt the OTA package with AES-CBC-128
Output File TypeOutput file types are among BLE, Zigbee or Combo OTA operation
Flash Image IDThis option is enabled only if Output File file is set to BLE OTA File or Combo OTA File. It is the 32bit Identification Number for App layer to confirm the new Flash Image is acceptable
Manufacture CodeThis option is enabled only if Output File file is set to Zigbee OTA File or Combo OTA File. It is the 16-bit manufacturer identifier used to match supported devices. Defaults to 0xFFFF (match all)
Image TypeThis option is enabled only if Output File file is set to Zigbee OTA File or Combo OTA File. It is the 16-bit image type. Defaults to 0xFFFF (match all)
File VersionThis option is enabled only if Output File file is set to Zigbee OTA File or Combo OTA File. It is the 32-bit integer representing the file version. Can be in the recommended format (8-bit app release, 8-bit app build, 8 bit stack release, 8-bit stack build), simple increasing version, or an unsupported version format. If in an unsupported version format the OTA Cluster will not be able to compare file versions. Defaults to 0x0000
Stack VersionThis option is enabled only if Output File file is set to Zigbee OTA File or Combo OTA File. It is the 16-bit identifier of the zigbee stack version. Defaults to 0x02 for zigbee Pro.
Header StringThis option is enabled only if Output File file is set to Zigbee OTA File or Combo OTA File. It is the 32-byte string used by each manufacturer as they see fit but recommended to be human readable
Security Credential VersionThis option is enabled only if Output File file is set to Zigbee OTA File or Combo OTA File. It is the optional 8-bit identifier of the Security Credential Version. Defaults to not included
Upgrade File DestinationThis option is enabled only if Output File file is set to Zigbee OTA File or Combo OTA File. It is the optional 64-bit extended address of the device to which this image is specific. Defaults to not include, image is available to all devices
Minimum Hardware VersionThis option is enabled only if Output File file is set to Zigbee OTA File or Combo OTA File. It is the optional 0/16-bit integer representing the earliest hardware platform this image can be used on
Maximum Hardware VersionThis option is enabled only if Output File file is set to Zigbee OTA File or Combo OTA File. It is the optional 16-bit integer representing the latest hardware platform this image can be used on
Boot services generates linker script with the below memory layout which lets the stack to store the image in Slot 1 during stack OTA process.