CHAPTER 27 FLASH MEMORY
Page 820 of 920
27.5.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
, which is a boot program area, by self-programming, write a new boot program
to boot cluster 1 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 boot program 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.
Figure 27 - 7 Boot Swap Function
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
New boot program
(boot cluster 1)
New boot program
(boot cluster 1)
New boot program
(boot cluster 1)
User program
Boot
Boot
Boot
Boot
XXXXXH
02000H
01000H
00000H
User program
Boot program
(boot cluster 0)
Self-programming
to boot cluster 1 User program
User program
User program
Boot program
(boot cluster 0)
Execution of boot
swap by firmware
Self-programming
to boot cluster 0
Boot program
(boot cluster 0)
New user program
(boot cluster 0)
Содержание RL78/G1H
Страница 941: ...R01UH0575EJ0120 RL78 G1H...