MLS/160A – System Reference
10
D o c u m e n t R e v i s i o n 1 . 1
4.1
A/B Boot Concept
The MLS/160A has an A/B boot concept is based on the RIOTBOOT bootloader. It enables,
for instance, the
Secure Device Update
(SDU) function (please see
chapter 4.2
).
The Flash memory of the STM32 MCU is divided in two so-called
boot slots
("A" and "B")
like shown in
figure 4
. Each of them may store the MLS/160A’s firmware.
Figure 4:
Division of the MCU Flash memory
Header
Each boot slot has a header containing following information as
32-bit unsigned integer
(uint32):
•
magic_number:
header magic number ("RIOT")
•
version:
partition/boot slot version
•
start_addr:
memory address after the allocated space
•
chksum:
checksum of the header
Boot Process
First the boot loader checks the header checksum of each slot.
If both slots have a valid checksum, the boot loader uses the slot with the higher version
number to continue the boot process.