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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions