Today I spent a decent chunk of my day picking apart #mcuboot so I could read some custom TLVs.
https://github.com/mcu-tools/mcuboot/discussions/2273#discussioncomment-14800831 is my findings.
Today I spent a decent chunk of my day picking apart #mcuboot so I could read some custom TLVs.
https://github.com/mcu-tools/mcuboot/discussions/2273#discussioncomment-14800831 is my findings.
The last few days I spent a fair chunk of my day arguing with the nRF Connect SDK and its Partition Manager…
The goal: trying to get NSIB and mcuboot to behave with the secondary image on external (QSPI) flash.
Took the better part of yesterday and today just getting a `pm_static.yml` together… only for it to compile an image, and `west flash` to barf because the image file embedded both on-chip flash data *and* a copy of the bootloader for the QSPI flash.
In the end, I came to the following conclusions:
1. Partition manager is over-engineered and fails at its prime objective of making partition layout easier (they tell you to skip dynamic layout and use `pm_static.yml` when doing DFU… enough said!)
2. NSIB is a no-go if external flash is involved because it *insists* on making a composite image that won't actually load.
Tomorrow, I'll see if I can bend `mcuboot` to my will. Primarily I want to see if I can move the public keys it uses for authenticity checks into a separate partition so I can update those without flashing a whole new bootloader.
MCUboot is a secure bootloader for 32-bit MCUs. The goal of MCUboot is to define a common infrastructure for the bootloader, system flash layout on microcontroller systems, and to provide a secure bootloader that enables easy software upgrade
link: https://docs.nordicsemi.com/bundle/ncs-1.2.1/page/mcuboot/index.html
It seems the Rust programming language comes up frequently these days, and there is a lot of interest in it. We have been using Rust to implement a simulation test environment within MCUboot since 2017. This presentation will discuss our experience with Rust, and our hopes of how this language might help other projects in the future, especially in regards to security.
I'm working on this issue in InfiniTime : race conditions occurs during sleep/wakeup and something put the devices (spi) into an incoherent state (I think it is disabled while a transaction is ...