The Z-Wave bootloader supports firmware updates through two modes:
The firmware image is always compressed using LZMA and digitally signed.
To sign the image, we use OpenSSL to generate a pair of private and public keys. Here are the steps involved:
<keys_folder_path>
is the path to the folder where the private and pubic keys are stored.The private and public keys should be stored in the /keys
folder.
The public key must be flashed to the secure page before flashing any firmware to the chip.
To flash the key stored in the above json file, run the following elcap command:
<jlink_sn>
is the J-Link serial number printed on the DKNCZ20 board.
Once the public key has been flashed, you can proceed to FLASH the firmware image.
The Z-Wave bootloader uses the Xmodem protocol to receive the OTW image.
The bootloader only supports Xmodem-CRC32.
The bootloader default UART is UART0 using a 115200 baud rate with 8 data bits, and 1 stop bit and no parity bit.
The txd and rxd pins are 17, and 16 subsequntly.
The used UART can be changed by implementing the API zpal_otw_hw_config.
To initiate the OTW update process, follow these steps:
0x43
from the target.