VRS51L1050
IAP Byte Program Function
IAP Flash Control Register
The IAP byte program function is used to program a
byte into a specified Flash memory location under the
control of the IAP feature (see the following program
example):
The VRS51L1050 IAP function operation is controlled
by the IAP Flash control register, IAPFCTRL. Setting
the IAPSTART bit to 1 starts the execution of the IAP
command specified by the IAPFCT[1:0] bits of the IAP
Flash control register.
IAP_PROG: MOV
IAPFDATA,#55H
IAPFDATA,#0AAH
IAPFDATA,#55H
;Sequence to Enable Writing
; the IAPSTART bit
MOV
MOV
TABLE 10:IAP FLASH CONTROL REGISTER - SFR F7H
7
6
5
4
3
2
1
0
MOV
MOV
MOV
MOV
MOV
SYSCON,#04H
;ENABLE IAP FUNCTION
;Set MSB of address to program
;Set LSB of address to program
;Set Data to Program
IAPFADHI, FADRSH
IAPFADLO,FADRSL
IAPFDATA,FDATA
IAPFCTRL,#80H
IAPFCTRL[15:8]
;Set the IAP Start bit
Bit
Mnemonic Description
IAPSTART IAP Selected operation start sequence
7
6
5
4
3
2
1
0
;**The program Counter will stop until the IAP function is completed
Unused
Unused
Unused
Unused
Unused
-
-
-
-
-
IAP Page Erase Function
Using the IAP feature, it is possible to perform a page
erase of the VRS51L1050 Flash memory (the memory
area occupied by the ISP boot program cannot be
page erased). Each page is 512 bytes in size.
IAPFCT[1:0]
Flash Memory IAP Function
The IAP subsystem handles four different functions.
Which are controlled by the IAPFCT bits as follows:
To perform a Flash page erase, the page address is
specified by the XY (hex) value written into the
IAPFADHI register. (The value 00h must be written
into the IAPFADLO registers.)
TABLE 11:IAP FUNCTIONS
IAPFCT[1:0] Bits value
IAP Function
Flash Byte Program
Flash Erase Protect
Flash Page Erase
Flash Erase
00
01
10
11
If the “Y” portion of the IAPFADHI register represents
an even number, the page to be erased corresponds
to the range XY00h to X(Y+1)FFh.
If the “Y” portion of the IAPFADHI register represents
an odd number, the page to be erased corresponds to
the range X(Y-1)00h to XYFFh.
It is important to note that for security reasons, the
IAPSTART bit of the IAPFCTRL register is configured
as read-only by default.
The following program example erases the page
corresponding to the address B000h-CFFFh:
To set the IAPSTART bit to 1, the following operation
sequence must be performed:
;** Erase Flash page located at address B000h to CFFFh.
MOV IAPFDATA,#55h
MOV IAPFDATA,#AAh
MOV IAPFDATA,#55h
PageErase: MOV
IAPFDATA,#55H
IAPFDATA,#0AAH
IAPFDATA,#55H
;Sequence to Enable Writing
; the IAPSTART bit
MOV
MOV
MOV
MOV
MOV
MOV
SYSCON,#04H
IAPFADHI, #0B0h
IAPFADLO,#00h
IAPFCTRL,#82H
;ENABLE IAP FUNCTION
;Set MSB of Page address to erase
;Set LSB of address = 00
Once the start bit is set to 1, the IAP subsystem will
read the contents of the IAP Flash address and data
registers and hold the VRS51L1050 program counter
at its current value until the IAP operation is complete.
When it is complete, the IAPSTART bit will be cleared
and the program will continue executing.
;SET THE IAP START BIT
IAP Chip Erase & Chip Protect Functions
The IAP chip erase function will erase the entire Flash
memory contents, with the exception of the ISP boot
program area. Running this function will also
automatically unprotect the Flash memory.
When the chip protect function is enabled, values read
back from Flash memory will be 00h.
______________________________________________________________________________________________
www.ramtron.com page 8 of 49