Philips Semiconductors Preliminary data
XA-G49
XA 16-bit microcontroller family
64K Flash/2K RAM, watchdog, 2 UARTs
2001 Jun 27
16
In-Application Programming Method
Several Application Program Interface (API) calls are available for
use by an application program to permit selective erasing and
programming of FLASH sectors. All calls are made through a
common interface, PGM_MTP. The programming functions are
selected by setting up the microcontroller’s registers before making
a call to PGM_MTP at FFF0H. Results are returned in the registers.
The API calls are shown in Table 2.
Table 2. API calls
API CALL PARAMETER
PROGRAM DATA BYTE Input Parameters:
R0H = 02h or 92h
R6 = address of byte to program
R4L = byte to program
Return Parameter
R4L = 00 if pass, non-zero if fail
ERASE BLOCK Input Parameters:
R0H = 01h or 93h
R6H = block number in bits 7:5, bits 4:0 = ’0’
block 0 : R6H = 00h
block 1 : R6H = 20h
block 2 : R6H = 40h
block 3 : R6H = 80h
block 4 : R6H = C0h
R6L = 00h
Return Parameter
R4L = 00 if pass, non-zero if fail
ERASE BPC and
STATUS BYTE
Input Parameters:
R0H = 04h
Return Parameter
R4L = 00 if pass, non-zero if fail
PROGRAM SECURITY BIT Input Parameters:
R0H = 05h
R6H = 00h
R6L = 00h – security bit # 1 (inhibit writing to FLASH)
01h – security bit # 2 (inhibit FLASH verify)
02h – security bit # 3 (disable external memory)
Return Parameter
none
PROGRAM STATUS BYTE Input Parameters:
R0H = 06h
R6H = 00h
R6L = 00h – program status byte
R4L = status byte
Return Parameter
R4L = 00 if pass, non-zero if fail
NOTE: Only two bits of this Special Cell may be programmed at one time.
PROGRAM BPC high byte Input Parameters:
R0H = 06h
R6H = 00h
R6L = 01h – program BPC
R4L = BPC[15:8] (BPC[7:0] unchanged)
Return Parameter
R4L = 00 if pass, non-zero if fail
NOTE: Only two bits of this Special Cell may be programmed at one time.
READ DEVICE DATA Input Parameters:
R0H = 03h
R6 = address of byte to read
Return Parameter
R4L = value of byte read
READ MANUFACTURER ID Input Parameters:
R0H = 00h
R6H = 00h
R6L = 00h (manufacturer ID)
Return Parameter
R4L = value of byte read