1.1.3 PIC32CX-BZ2 Bootloader Services Component Help

The PIC32CX-BZ2 Bootloader Services is a utility which helps in creating signed firmware image for OTA with the provided header and OTA header information. Please follow MCC Project Graph and how to add Bootloader services component which is available in Device Resources - Libraries → Harmony → Wireless → Bootloader Services

Bootloader services utility functional activities with Harmony 3 code generation
  • Adds the autoload.py script which gets loaded in the project (See Screenshot) for getting the required information from user for creating signed Firmware

    Please find the description below on the labels.
    Table 1-3. 
    Label NameDescription
    Sequence NumberSequence Number in 64bit Hex format, range from 0x00000001 to 0xFFFFFFFE
    Manufacture IDIdentifier of the Manufacturer. up to 4 ASCII characters
    Auth MethodAuthentication Method. The supported authentication methods are None, SHA256 and ECDSA256-SHA256
    Firmware RevisionRevision 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 ECDSA Authentication. It is in PKCS#8 fromat. This label is enabled only if Auth method is ECDSA256-SHA256

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

    Bootloader 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

    Output File Type as Combo OTA File

Please find the below table which includes the description of the label’s/parameter’s used.
Table 1-4. 
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
Bootloader services generates linker script with the below memory layout which lets the stack to store the image in Slot 1 during stack OTA process.