Secure Self-Programming (Boot Cluster Swapping) - NEC V850ES/F 3-L Series User Manual

32-bit single-chip microcontroller
Table of Contents

Advertisement

Flash Memory

7.3.3 Secure self-programming (boot cluster swapping)

Caution
Boot swap cluster
Boot swap flag
0000 0000H
Figure 7-15
The V850 flash microcontrollers support a mechanism to swap a cluster of
code flash memory blocks, starting from address 0000 0000
cluster of the same size, located immediately above the first one.
Boot cluster swapping is only supported, if the variable reset vector remains in
its default state 0000 0000
If the reset vector is changed to other values, boot cluster swapping is not
possible.
A group of boot blocks to be swapped. The cluster of blocks starting at address
0000 0000
is named active boot swap cluster, since it contains the entry point
H
of the user's program at the default reset vector 0000 0000
Which of the two clusters is the active boot block cluster is controlled by the
boot swap flag, that can be defined during flash programming via the self-
programming library.
The boot swap flag is stored in the flash memory extra area.
Figure 7-15 on page 279 shows an example of the boot block swapping
function with a cluster size of 4 flash memory blocks. After inverting the
boot_flag - it becomes not(boot_flag) - blocks 4 to 7 become the active boot
block cluster. Thus after next reset release the user's program starts from the
new boot swap cluster.
last block
block 8
block 7
inactive
block 6
boot
swap
block 5
cluster
block 4
block 3
active
block 2
boot
swap
block 1
cluster
block 0
boot_flag
Boot swap cluster swapping function
User's Manual U18743EE1V2UM00
.
H
last block
block 8
block 3
block 2
block 1
block 0
block 7
block 6
block 5
block 4
not(boot_flag)
Chapter 7
, with another
H
.
H
279

Advertisement

Table of Contents
loading

Table of Contents