RL78/G1D
26.6.2 Boot swap function
If rewriting the boot area failed by temporary power failure or other reasons, restarting a program by resetting or
overwriting is disabled due to data destruction in the boot area.
The boot swap function is used to avoid this problem.
Before erasing boot cluster 0
in advance. When the program has been correctly written to boot cluster 1, swap this boot cluster 1 and boot cluster 0 by
using the set information function of the firmware of the RL78 microcontroller, so that boot cluster 1 is used as a boot area.
After that, erase or write the original area, boot cluster 0.
As a result, even if a power failure occurs while the area is being rewritten, the program is executed correctly because it
is booted from boot cluster 1 to be swapped when the program is reset and started next.
Note A boot cluster is a 4 KB area and boot clusters 0 and 1 are swapped by the boot swap function.
X X X X X H
Self-programming
User program
to boot cluster 1
0 2 0 0 0 H
User program
0 1 0 0 0 H
Boot program
(boot cluster 0)
0 0 0 0 0 H
Boot
In an example of above figure, it is as follows.
Boot cluster 0: Boot area before boot swap
Boot cluster 1: Boot area after boot swap
R01UH0515EJ0120 Rev.1.20
Dec 16, 2016
Note
, which is a boot area, by self-programming, write a new boot program to boot cluster 1
Figure 26-9. Boot Swap Function
Execution of boot
User program
swap by firmware
New boot program
(boot cluster 1)
Boot program
(boot cluster 0)
Boot
CHAPTER 26 FLASH MEMORY
Self-programming
User program
to boot cluster 0
Boot program
(boot cluster 0)
New boot program
(boot cluster 1)
Boot
User program
New user program
(boot cluster 0)
New boot program
(boot cluster 1)
Boot
779