I designed this scheme:
Upload firmware to PX4 file system though mavlink_file_transfer_protocol_t mavlink.
Use PX4IO_Uploader Class to update Px4 firmware. (PX4IO_Uploader Class encapsulates the complete upgrade steps )
Does anyone know of a better way to upload file to PX4 instead of mavlink_file_transfer_protocol_t?
Does anyone have a better scheme of firmware upgrade?