- When running `BUILD_IN_DOCKER=1 make -C tests/riotboot test` new slot binaries (fw + hdr) need to be generated. `%.bin: %.elf` is no defined when building in docker, so the fw binaries $(SLOT_RIOT_ELFS:%.elf=%.bin) are added to BUILD_FILES
RIOT bootloader test
This is a basic example how to use RIOT bootloader in your embedded application.
This test should foremost give you an overview how to use riotboot:
-
make allbuild the test using the target riotboot, which generates a binary file of the application with a header on top of it, used by the bootloader to recognise a bootable image. -
make riotboot/flashcreates the binary files and flashes both riotboot and the RIOT image with headers included. This should boot as a normal application.
In this test two modules riotboot_hdr and riotboot_slot are used to showcase
the access to riotboot shared functions.
Automatic test
This application's "test" target can be used to test basic riotboot functionality:
BOARD=<board> make flash test
This will:
-
flash bootloader and slot0 with APP_VER=0, invalidate slot1
-
verify slot0 has been booted and has APP_VER set to 0
-
flash slot1 with APP_VER set to 1
-
verify slot1 has booted and shows APP_VER==1
-
flash slot0 with APP_VER set to 2
-
verify slot0 has booted and shows APP_VER==2
If this test runs correctly, it shows that riotboot's basic functions and are working properly on the target board.