Uploading CPC Application GBL to RCP device
Start by uploading the GBL file generated previously on your CPCd host
From there, steps to follow are the ones from the cpc documentation.
NOTE : At the time of writing (GSDK 4.4.1), in case GPIO activation is not available, it is possible that the cpcd
does not detect that UART-XMODEM is in bootload mode
Assuming the gbl file is named ot-rcp-cpc.gbl
and is located in ~
, start the firmware upgrade with :
cpcd --firmware-update ot-rcp-cpc.gbl
Output should be :
[2024-04-04T15:05:21.449378Z] Info : Starting daemon in firmware update mode
[2024-04-04T15:05:21.449388Z] Info : Requesting versions via CPC...
[2024-04-04T15:05:21.461630Z] Info : Connecting to Secondary...
[2024-04-04T15:05:21.759370Z] Info : RX capability is 256 bytes
[2024-04-04T15:05:21.759398Z] Info : Connected to Secondary
[2024-04-04T15:05:21.763233Z] Info : Secondary Protocol v5
[2024-04-04T15:05:21.772128Z] Info : Secondary bootloader: Gecko SDK
[2024-04-04T15:05:21.776889Z] Info : Secondary CPC v4.4.1
[2024-04-04T15:05:21.784981Z] Info : Secondary bus bitrate is 115200
[2024-04-04T15:05:21.793584Z] Info : Secondary APP vUNDEFINED
[2024-04-04T15:05:21.794105Z] Info : Server core cleanup
[2024-04-04T15:05:21.795257Z] Info : Firmware file version not provided, forcing update
[2024-04-04T15:05:21.795274Z] Info : Requesting reboot into bootloader via CPC...
[2024-04-04T15:05:21.814358Z] Info : Secondary is in bootloader
[2024-04-04T15:05:21.814754Z] Info : Server core cleanup
[2024-04-04T15:05:21.815073Z] Info : Transferring firmware...
[2024-04-04T15:05:39.346075Z] Info : Firmware upgrade successful
[2024-04-04T15:05:39.346110Z] Info : Exiting CPCd...
The case where the bootloader UART settings do not match with the RCP settings is covered in the guide and proposes as an alternative :
cpcd -c application.conf --enter-bootloader
Resulting output should end by :
[2024-04-04T13:47:08.921732Z] Info : Starting daemon in firmware update mode
[2024-04-04T13:47:08.921742Z] Info : Performing a firmware upgrade while assuming the bootloader is already running, skipping placing the secondary in bootloader mode
[2024-04-04T13:47:08.921746Z] Info : Transferring firmware...
[2024-04-04T13:47:27.453991Z] Info : Firmware upgrade successful
[2024-04-04T13:47:27.454026Z] Info : Exiting CPCd...
Assuming the gbl file is named ot-rcp-cpc.gbl
and is located in ~
, start the file transfer with :
cpcd -c --connect-to-bootloader --firmware-update ot-rcp-cpc.gbl
The output should look like :
[2024-04-04T13:47:08.921732Z] Info : Starting daemon in firmware update mode
[2024-04-04T13:47:08.921742Z] Info : Performing a firmware upgrade while assuming the bootloader is already running, skipping placing the secondary in bootloader mode
[2024-04-04T13:47:08.921746Z] Info : Transferring firmware...
[2024-04-04T13:47:27.453991Z] Info : Firmware upgrade successful
[2024-04-04T13:47:27.454026Z] Info : Exiting CPCd...
In case the CPC secondary is stuck in bootloding mode, the only way to get out of that state is to perform an upgrade by calling the last command once again