2 – in-application programming functions, 1 – urom_flashwrite, In-application programming functions – Maxim Integrated DS4830 Optical Microcontroller User Manual
Page 221: Urom_flashwrite

DS4830 User’s Guide
221
25.2
– In-Application Programming Functions
25.2.1
– UROM_flashWrite
Function
UROM_flashWrite
Summary
Programs a single word of flash memory
Inputs
A[0]: Word address in program flash memory to write.
A[1]: Value to write to flash memory.
Outputs
Carry: Set on error and cleared on success
Destroys
PSF, LC[1]
Notes:
This function uses two stack levels to save and restore values.
If the watchdog reset function is active, it should be disabled before calling this function.
Interrupts are disabled while in this function.
If the flash location has already been programmed to a value other than FFFFh, this function returns with an
error (Carry set). In order to reprogram a flash location, the location must first be erased by calling
UROM_flashErasePage or UROM_flashEraseAll.
25.2.2
– UROM_flashErasePage
Function
UROM_flashErasePage
Summary
Erases (programs to FFFFh) a 512-byte page of flash memory.
Inputs
A[0]: Word address located in the page to be erased. (The page number is the high 8 bits of
A[0].)
Outputs
Carry: Set on error and cleared on success.
Destroys
PSF, LC[1], GR, AP, APC, A[0]
Notes:
If the watchdog reset function is active, it should be disabled before calling this function.
Interrupts are disabled while in this function.
When calling this function from flash, care should be taken that the return address is not in the page which is
being erased.
25.2.3
–
UROM_flashEraseAll
Function
UROM_flashEraseAll
Summary
Erases (programs to FFFFh) all locations in flash memory
Inputs
None
Outputs
Carry: Set on error and cleared on success.
Destroys
PSF, G R , LC[1], LC[0], AP, APC, A[0]
Notes:
If the watchdog reset function is active, it should be disabled before calling this function.
Interrupts are disabled while in this function..
This function can only be called by code running from the RAM. Attempting to call this function while running
from the flash results in an error.