Renesas rl78 User Manual

Page of 1004
 
RL78/G1A 
CHAPTER  25   FLASH  MEMORY 
25.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
Note
, which is a boot 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 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 25-9.  Boot Swap Function 
 
Boot program
(boot cluster 0)
New boot program
(boot cluster 1)
User program
Self-programming 
to boot cluster 1
Self-programming 
to boot cluster 0
Execution of boot 
swap by firmware
User program
Boot program
(boot cluster 0)
User program
New user program
(boot cluster 0)
New boot program
(boot cluster 1)
User program
New boot program
(boot cluster 1)
Boot program
(boot cluster 0)
User program
X X X X X H
0 2 0 0 0 H
0 0 0 0 0 H
0 1 0 0 0 H
Boot
Boot
Boot
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 
 
R01UH0305EJ0200  Rev.2.00 
 
 
817  
Jul 04, 2013