Flash Memory System and Programming
237
Philips Semiconductors
Preliminary User Manual
LPC2119/2129/2292/2294
ARM-based Microcontroller
Prepare sector(s) for write operation <start sector number> <end sector number>
This command makes flash write/erase operation a two step process.
Copy RAM to Flash <Flash address> <RAM address> <number of bytes>
Table 204: ISP Prepare sector(s) for write operation command description
Command
P
Input
Start Sector Number
End Sector Number: Should be greater than or equal to start sector number.
Return Code
CMD_SUCCESS |
BUSY |
INVALID_SECTOR |
PARAM_ERROR
Description
This command must be executed before executing "Copy RAM to Flash" or "Erase Sector(s)"
command. Successful execution of the "Copy RAM to Flash" or "Erase Sector(s)" command causes
relevant sectors to be protected again. The boot sector can not be prepared by this command. To
prepare a single sector use the same "Start" and "End" sector numbers.
Example
"P 0 0<CR><LF>" prepares the flash sector 0.
Table 205: ISP Copy RAM to Flash command description
Command
C
Input
Flash Address(DST): Destination Flash address where data bytes are to be written. The destination
address should be a 512 byte boundary.
RAM Address(SRC): Source RAM address from where data bytes are to be read.
Number of Bytes: Number of bytes to be written. Should be 512 | 1024 | 4096 | 8192.
Return Code
CMD_SUCCESS |
SRC_ADDR_ERROR (Address not on word boundary) |
DST_ADDR_ERROR (Address not on correct boundary) |
SRC_ADDR_NOT_MAPPED |
DST_ADDR_NOT_MAPPED |
COUNT_ERROR (Byte count is not 512 | 1024 | 4096 | 8192) |
SECTOR_NOT_PREPARED_FOR_WRITE_OPERATION |
BUSY |
CMD_LOCKED |
PARAM_ERROR
Description
This command is used to program the flash memory. The affected sectors should be prepared first
by calling "Prepare Sector for Write Operation" command. The affected sectors are automatically
protected again once the copy command is successfully executed. The boot sector can not be
written by this command.
Example
"C 0 1073774592 512<CR><LF>" copies 512 bytes from the RAM address 0x4000 8000 to the flash
address 0.