R8C/20 Group, R8C/21 Group 19. Flash Memory
Rev.2.00 Aug 27, 2008 Page 393 of 458
REJ09B0250-0200
19.4.3.4 Program Command
The program command writes data to the flash memory in 1-byte units.
By writing 40h in the first bus cycle and data in the second bus cycle to the write address, and an auto program
operation (data program and verify) will start. Make sure the address value specified in the first bus cycle is the
same address as the write address specified in the second bus cycle.
The FMR00 bit in the FMR0 register can determine whether auto programming has completed.
When suspend function disabled, the FMR00 bit is set to 0 during auto-programming and set to 1 when auto-
programming completes.
When suspend function enabled, the FMR44 bit is set to 1 during auto-programming and set to 0 when auto-
programming completes.
The FMR06 bit in the FMR0 register can determine the result of auto programming after it has been finished.
(Refer to 19.4.5 Full Status Check)
When the FMR02 bit in the FMR0 register is set to 0 (disable rewriting), program commands targeting block 0
to 3 are not acknowledged. When the FMR02 bit is set to 1 (rewrite enables) and the FMR15 bit in the FMR1
register is set to 1 (disable rewriting), program commands targeting block 0 are not acknowledged. When the
FMR16 bit is set to 1 (disable rewriting), program commands targeting block 1 are not acknowledged.
Figure 19.12 shows the Program Command (When Suspend Function Disabled). Figure 19.14 shows the
Program Command (When Suspend Function Enabled).
In EW1 mode, do not execute this command on any address at which the rewrite control program is allocated.
In EW0 mode, the MCU enters read status register mode at the same time auto programming starts and the
status register can be read. The status register bit 7 (SR7) is set to 0 at the same time auto programming starts
and set back to 1 when auto programming completes. In this case, the MCU remains in read status register
mode until a read array command is written next. Reading the status register can determine the result of auto
programming after auto programming has completed.
Figure 19.12 Program Command (When Suspend Function Disabled)
Start
Write the command code 40h to
the write address
Write data to the write address
FMR00 = 1?
Full status check
Program completed
No
Yes