Rev. 6.0, 09/02, page 596 of 876
Boot-Mode Execution Procedure: Figure 19.4 shows the boot-mode execution procedure.
Start
3
4
5
6
7
8
9
10
1
2
Program H8/3048F pins for
boot mode, and resets.
After completing bit rate adjustment,
H8/3048F transmits one H'00 byte to the
host to indicate completion.
Host transmits H'00 data
continuously at desired bit rate.
The host confirms that bit rate
adjustment was completed successfully,
then transmits one H'55 byte.
H8/3048F receives, as 2 bytes,
number of program bytes (N) to be
transferred to on-chip RAM*1
H8/3048F transfers user
program to RAM*2
H8/3048F calculates remaining
bytes to be transferred (N = N–1)
H8/3048F transfers part of
boot program to RAM
H8/3048F branches to RAM
boot area, then checks flash
memory user area data
No
Yes
H8/3048F confirms that all flash
memory data is H'FF, then
transmits one H'AA byte to host
H8/3048F branches to RAM area
address H'FFF300 and executes
user program transferred to RAM
Transfer end byte
count N = 0? No
Yes
H8/3048F measures H'00 low period
for data transmitted from the host.
H8/3048F computes the bit rate, then
sets the value in the bit rate register.
All data = H'FF?
Delete all flash memory
blocks*3,*4
1. Program the H8/3048F pins for boot mode, and start the
H8/3048F from a reset.
2. Set the host's data format to 8 bits + 1 stop bit, select the
desired bit rate (2400, 4800 or 9600), and transmit H'00
data continuously.
3. H8/3048F measures the duration of repeat when the RDX
pin is "Low," then computes the bit rate of the serial
transmission from the host.
4. After H8/3048F completes SCI bit rate adjustment, one byte
of H'00 data is transmitted to indicate completion.
5. On receiving one byte from H8/3048F to indicate completion
of bit rate adjustment, the host confirms regular reception
then transmits one byte of H'55. H8/3048F transmits H'AA to
indicate regular reception.
6. The host transmits the number of user program bytes to be
transferred to the H8/3048F. The number of bytes should
be sent as two bytes, upper byte followed by lower byte.
The host should then sequentially transmit the program set
by the user.
The H8/3048F transmits the received byte count and user
program sequentially to the host, one byte at a time, as
verify data (echo-back).
7. The H8/3048F sequentially writes the received user
program to on-chip RAM area H'FFF300 to H'FFFEFF.
8. The H8/3048F transfers part of the boot program to on-chip
RAM area H'FFEF10 to H'FFF2FF.
9. The H8/3048F branches to the RAM boot program area
(H'FFEF10 to H'FFF2FF) and checks for the presence of
data written in the flash memory. If data has been written in
the flash memory, the H8/3048F erases all blocks. When
erasing ends normally, the H8/3048F transmits one H'AA
byte.
10. The H8/3048F branches to on-chip RAM address H'FFF300
and executes the user program written in that area.
Notes: *1 The user can use 3072 bytes of RAM. The number of
bytes transferred must not exceed 3072 bytes. Be
sure to transmit the byte length in two bytes, most
significant byte first and least significant byte second.
For example, if the byte length of the program to be
transferred is 256 bytes, (H'0100), transmit H'01 as
the most significant byte, followed by H'00 as the
least significant byte.
*2 The part of the user program that controls the flash
memory should be coded according to the flash
memory program/erase algorithms given later.
*3 If a memory cell malfunctions and cannot be erased,
the H8/3048F transmits one H'FF byte to report an
erase error, halts erasing, and halts further
operations.
*4 The allotted boot program area is H'FFF300 to
H'FFFEFF.
Figure 19.4 Boot Mode Flowchart