1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/tests/riotboot
Francisco Molina 57b09f1685 tests/riotboot: add SLOT_RIOT_ELFS:%.elf=%.bin to BUILD_FILES
- 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
2019-10-18 15:56:48 +02:00
..
tests tests/riotboot: add re-flashing and image selection test 2019-07-15 11:30:49 +02:00
main.c tests: add riotboot bootloader test 2018-12-18 19:31:35 +01:00
Makefile tests/riotboot: add SLOT_RIOT_ELFS:%.elf=%.bin to BUILD_FILES 2019-10-18 15:56:48 +02:00
README.md tests/riotboot: add re-flashing and image selection test 2019-07-15 11:30:49 +02:00

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 all build 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/flash creates 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:

  1. flash bootloader and slot0 with APP_VER=0, invalidate slot1

  2. verify slot0 has been booted and has APP_VER set to 0

  3. flash slot1 with APP_VER set to 1

  4. verify slot1 has booted and shows APP_VER==1

  5. flash slot0 with APP_VER set to 2

  6. 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.