[riot-notifications] [RIOT-OS/RIOT] riotboot_flashwrite: Failure on the nrf52 (#11274)

Koen Zandberg notifications at github.com
Tue Mar 26 09:54:53 CET 2019


#### Description

The riotboot_flashwrite test fails to properly boot after an update on the nrf52 chips. This happens because `RIOTBOOT_LEN` is exactly the size of one full flash page. The rest of the flash is divided between the other two slots, giving each slot 128.5 flash pages. This results in SLOT1_OFFSET not starting at a flash page border, violating some of the assumptions of riotboot.

#### Steps to reproduce the issue

execute the steps from the `README.md` in the riotboot_flashwrite test on a nrf52-based board (nrf52840dk for example)

#### Expected results

Slot1 is booted after a reset

#### Actual results

Slot0 boots after a result, furthermore debugging slot1 shows that the magic number is not flashed to the first word of the slot.

#### Quick fix:

Override `RIOTBOOT_LEN` in the nrf52 `Makefile.include` to `0x2000`.

#### More generic fix:

Ensure that `RIOTBOOT_LEN` is always at least 2 flash pages large. Assuming that most chips with a homogeneous flash page layout always have an even number of flash pages, this would result in the remaining number of flash pages for the two slots also be an even number. Having an even number of remaining flash pages ensures that it can be divided into two slots each starting at a flash page border

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/issues/11274
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190326/2bc6fbdc/attachment-0001.html>


More information about the notifications mailing list