* Move to latest compiler and package versions We also add cargo audit to the desktop tests. * Install cargo audit differently in workflow * Removes leftover nightly references * Removes install check from deploy.py The toolchain should be correctly setup after setup.sh. * Removes rust component install from workflow Now that the nightly version is fixed, this should work ootb. * Moves cargo audit install to setup.sh * Updates cargo bloat workflow to default features
OpenSK Bootloader
This bootloader supports upgradability for OpenSK. Its functionality is to
- check images on A/B partitions,
- boot the most recent valid partition.
How to use
The bootloader is built and deployed by OpenSK's deploy.py. If your board
defines a metadata address, it is detected as an upgradable board and this
bootloader is flashed to memory address 0.
How to debug
The bootloader prints debug message over RTT when compiled in debug mode. Using
nrfjprog for flashing and inspecting memory is recommended for debugging.
RUSTFLAGS="-C link-arg=-Wl,-Tlink.x -C link-arg=-nostartfiles" \
cargo build --target thumbv7em-none-eabi
llvm-objcopy -O ihex target/thumbv7em-none-eabi/debug/bootloader \
target/thumbv7em-none-eabi/debug/bootloader.hex
nrfjprog --program target/thumbv7em-none-eabi/debug/bootloader.hex \
--sectorerase -f nrf52 --reset
To read the debug messages, open two terminals for:
JLinkRTTLogger -device NRF52840_XXAA -if swd -speed 1000 -RTTchannel 0
JLinkRTTClient
The first command also logs the output to a file. The second shows all output in real time.