Skip to content

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