Skip to content

Implement firmware update mechanism #11

Description

@Pavllick

Currently there is no mechanism in place to update firmware other then though standard flashing interface of a SoC.

Update should be supported over Bluetooth. Develop update and recovery strategy.
Devices use U-Boot as a bootloader,

  1. Review firmware update options available in Zephyr RTOS
  2. Partition flash into 2 sections to keep backup and current firmware version
  3. Figure out recovery strategy on boot failure, such as set a flag in the flash memory from bootloader and reset it if boot process succeeded, otherwise override k_sys_fatal_error_handler method (marked as weak in the fatal.c) to reboot if the flag is not set and boot backup image.
  4. Develop strategy to update devices connected over CDMP network, it makes sense to have only one device to be connectable over Bluetooth while other ones should be accessible through that central device. CDMP describes large files transmission, but it's not implemented as of now.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Fields

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions