Cyphal Upgrade (DFU)¶
The Cyphal device firmware update (DFU) work as following:
- A server must provide a file server to be able to serve the new image file
- A DFU command (including file name) is send to a node (ExecuteCommand)
- The node responses with command success
- The node switches its operation mode to UpdateState
- The node uses file request to download the new image in chunks via cyphal (file name). It is stored in the second partition of the flash
- Upon receiving the last chunk, the node restarts
- MCUBoot will copy the new image to the primary partition after it got verified
Helpful commands for Yakut¶
File-Server:
yakut file-server
The DFU command:
yakut cmd <id> begin_software_update "com.starcopter.highdra.bms-4.1-0.9.37dcb342c2a3b602.739572c6f32fe387.app.bin"
All at once:
yakut file-server --plug-and-play=allocation_table.db --update-software