1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-18 11:03:50 +01:00
RIOT/tests/riotboot_flashwrite
Marian Buschsieweke c05d546bca
examples,tests: Update Makefile.ci
This updates the `Makefile.ci` entries for all MSP430 boards plus a few
low end Cortex-M boards.
2025-04-16 15:25:38 +02:00
..
2025-04-16 15:25:38 +02:00
2025-02-21 09:55:24 +01:00

Introduction

This test application allows to test the riotboot_flashwrite module over coap.

WARNING: never use this code for anything else. It allows updating the device over network without any kind of authentication or other security!

Please see the README of examples/nanocoap_server for instructions on how to set up a network for testing.

Requirements

This test uses aiocoap to send the firmware to the device over coap.

How to test over Ethos

First set up the network:

$ sudo dist/tools/ethos/setup_network.sh riot0 2001:db8::/64

Then provide de device and test:

$ BOARD=<board> make flash test-with-config

How to test over the air (802.15.4)

On another device setup a BR and start start_network.sh on that device serial port.

$ BOARD=<board> make -C examples/networking/gnrc/gnrc_border_router flash

$ sudo dist/tools/ethos/start_network.sh /dev/ttyACMx riot0 2001:db8::/64

Then provide the device and test:

$ USE_ETHOS=0 BOARD=<board> make flash test-with-config

Manual test

First, compile and flash with riotboot enabled:

$ BOARD=<board> make flash

Confirm it booted from slot 0 (it should print "Current slot=0"), then recompile in order to get an image for the second slot with a newer version number:

$ BOARD=<board> make riotboot

Then send via CoAP, for example, with libcoap's coap_client:

$ coap-client -m post coap://[<ip address of node>]/flashwrite \
   -f bin/<board>/riotboot_files/slot1.bin -b 64

Then reboot the node manually, confirming that it booted from slot 1.