Serial Asynchronous Flash Programming
Chapter 1 Background Information
© Fujitsu Microelectronics Europe GmbH
- 9 -
MCU-AN-300012-E-V13
MB91F465K
0x08:0000 – 0x0F:FFFF
0x14:8000 – 0x14:FFFF
0x14:8004 0x14:800C
MB91F467M 0x04:0000
–
0x14:FFFF
0x14:8004
0x14:800C
MB91F465P
0x08:0000 – 0x0F:FFFF
0x14:8000 – 0x14:FFFF
0x14:8004 0x14:800C
MB91F467P
0x04:0000 – 0x14:FFFF
0x14:8004
0x14:800C
MB91F465X
0x08:0000 – 0x0F:FFFF
0x14:8000 – 0x14:FFFF
0x14:8004 0x14:800C
Table 1: Boot Security Vector Addresses and Flash Address Valid Range
MB91F467R and MB91F463N do NOT contain this version of Boot ROM and do NOT
support Boot Security Vector functionality! Please note that the programming UART
is changed to UART0 on these devices and that the dial-up procure is different!
If BSV1 is valid, there will be an additional check before entering user program at the entry
address given by BSV1 (1). Otherwise checks for entering the internal bootloader will be
done (2).
The purpose of this feature is to disable the execution of the internal bootloader due to
security reasons or to minimize startup time of application. If the user sets BSV1 to a valid
address range, this bootloader cannot be entered any more.
(1) If the check for BSV1 is valid, the Magic Number, which should be located on the four
bytes before the address BSV1 points to, is compared to 0x000A897A. If the Magic Number
matches this value, the user application is entered at the address given by BSV1.
The Magic Number is used as flag for a valid user application, or especially for a user
bootloader. If you want to re-program this user bootloader, a second user bootloader, which
handles the re-programming of the first user bootloader, has to be located at the address
BSV2 points to. If BSV2 does not point to a valid address range, then application is started
at default user program entry address 0x0F:4000.
(2) If the check for BSV1 is not valid, the reset cause will be checked as second boot
condition. Only if the reset cause was an INIT reset (external INITX input, RSRR=0x80), the
check for boot conditions will go on. Otherwise Boot ROM is left and application is started at
default user program entry address 0x0F:4000.
If the reset cause was an INIT reset, serial clock pin SCK4 is checked for an external clock
signal. Therefore logic level at this pin is monitored for about 1ms. If port level is constant,
UART4 is initialized to asynchronous mode: 9600 baud, 8 data bits, 1 stop bit, no parity. If
port level changes, UART4 is initialized to synchronous slave mode. UART-reception is
checked for about 100 ms. If during this time period the ASCII-character “V” (0x56) is
received, the internal bootloader is entered and ASCII-character “F” (0x46) is sent back as
acknowledge sign. Otherwise Boot ROM is left and application is also started at default user
program entry address 0x0F:4000.
The following flow chart shows more detailed the checking conditions: