suit based firmware update architecture
play

SUIT-based firmware update architecture Emmanuel Baccelli Kaspar - PowerPoint PPT Presentation

SUIT-based firmware update architecture Emmanuel Baccelli Kaspar Schleiser Koen Zandberg Outline Intro Update architecture overview Device Software Components Bootloader Project Ideas Intro 32/16/8 bit MCU


  1. SUIT-based firmware update architecture Emmanuel Baccelli Kaspar Schleiser Koen Zandberg

  2. Outline • Intro • Update architecture overview • Device Software Components • Bootloader • Project Ideas

  3. Intro • 32/16/8 bit MCU • Open standards • Internet of Things

  4. Intro • RIOT SUIT example: https://git.io/suit-updater • SUIT VM (3.3GB): http://demo-fit.saclay.inria.fr/vms/RIOT-VM.ova • Instructions: https://git.io/suit-hackathon

  5. Update architecture overview Firmware Manager 1. Provide firmware & manifest 2. Notify Device 3. Request Manifest 4.Request firmware Gateway Storage Server Device

  6. Update architecture overview Focus on the storage server • Provides image and and manifest over CoAP

  7. Update architecture overview Management station: • Allows remote firmware management and triggers deployments.

  8. Update architecture overview Node: • Receives manifest trigger over CoAP • Fetches manifest • Fetches firmware update

  9. Device Software Components • Manifest recap • Software component overview • Chosen implementations

  10. Device Software Components SUIT Outer Wrapper Manifest Manifest Version Components COSE authentication Common Fetch & Install

  11. Device Software Components RIOT External libs CBOR SUIT Component CoAP COSE writer Storage Network Crypto library

  12. Device Software Components • SUIT parser • libcose • NanoCBOR

  13. Device Software Components RIOT External libs NanoCBOR suit_v4 Flashwrite Nanocoap libcose MCU Flash Network Crypto library

  14. Device Software Components NanoCBOR • Pull style parser • 600B - 800B decoder • Optimized for parsing known structures https://github.com/bergzand/NanoCBOR

  15. Device Software Components Libcose • Embedded COSE library • Multiple crypto backend support https://github.com/bergzand/libcose

  16. Device Software Components SUIT parser • Based on NanoCBOR • libcose for verification

  17. Device Software Components SUIT parser design • Iterate over the map • Multiple jump table based on map key

  18. Device Software Components Flash layout Header A Header B Bootloader A B

  19. Device Software Components Flash partition writer typedef struct { uint32_t magic_number; /**< Magic number */ uint32_t version; /**< Sequence No */ uint32_t start_addr; /**< Address */ uint32_t chksum; /**< Checksum */ } riotboot_hdr_t;

  20. Bootloader Just another RIOT application 1. Iterate over all headers 2. Determine whether the header is valid 3. Determine highest valid sequence number 4. Boot firmware

  21. Project Ideas • Extend manifest parsing • MCUboot interoperability • Infrastructure improvements

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend