
ADuC832
Data Sheet
Rev. B | Page 46 of 92
50
40
60
70
80
90
100
110
TJ JUNCTION TEMPERATURE (°C)
R
E
T
E
NT
IO
N
(
Y
ear
s)
250
200
150
100
50
0
300
ADI SPECIFICATION
100 YEARS MIN.
AT TJ = 55°C
02
98
7-
0
37
Figure 48. Flash/EE Memory Data Retention
USING THE FLASH/EE PROGRAM MEMORY
The 62 kB Flash/EE program memory array is mapped into the
lower 62 kB of the 64 kB program space addressable by the
ADuC832, and is used to hold user code in typical applications.
The program memory Flash/EE memory arrays can be
programmed in three ways: serial downloading, parallel
programming, and user download mode.
Serial Downloading (In-Circuit Programming)
The ADuC832 facilitates code download via the standard
UART serial port. The ADuC832 enters serial download mode
after a reset or power cycle if the PSEN pin is pulled low
through an external 1 kΩ resistor. Once in serial download
mode, the user can download code to the full 62 kB of Flash/EE
program memory while the device is in-circuit in its target
application hardware.
A PC serial download executable is provided as part of the
ADuC832 QuickStart development system. The serial
download protocol is detailed in the MicroConverter uC004
Technical Note, Understanding the Serial Download Protocol.
Parallel Programming
The parallel programming mode is fully compatible with conven-
tional third-party Flash or EEPROM device programmers. In
this mode, Port P0, Port P1, and Port P2 operate as the external
data and address bus interface, ALE operates as the write enable
strobe, and Port P3 is used as a general configuration port that
configures the device for various program and erase operations
during parallel programming. The high voltage (12 V) supply
required for Flash programming is generated using on-chip
charge pumps to supply the high voltage program lines.
The complete parallel programming specification is available at
page.
User Download Mode (ULOAD)
As shown in
Figure 49, it is possible to use the 62 kB of
Flash/EE program memory available to the user as one single
block of memory. In this mode, all of the Flash/EE memory is
read only to user code.
However, the Flash/EE program memory can also be written to
during run time simply by entering ULOAD mode. In ULOAD
mode, the lower 56 kB of program memory can be erased and
mode can be used to upgrade your code in the field via any user
defined download protocol. Configuring the SPI port on the
ADuC832 as a slave, it is possible to completely reprogram the
56 kB of Flash/EE program memory in only 5 seconds (see the
uC007 Technical Note, User Download (ULOAD) Mode).
Alternatively, ULOAD mode can be used to save data to the
56 kB of Flash/EE memory. This can be extremely useful in data
logging applications where the ADuC832 can provide up to
60 kB of NV data memory on chip (4 kB of dedicated Flash/EE
data memory also exist).
The upper 6 kB of the 62 kB of Flash/EE program memory is
only programmable via serial download or parallel programming.
This means that this space appears as read only to user code.
Therefore, it cannot be accidently erased or reprogrammed by
erroneous code execution. This makes it very suitable to use the
6 kB as a bootloader. A bootload enable option exists in the
serial downloader to always run from E000H after reset. If using
a bootloader, this option is recommended to ensure that the
bootloader always executes correct code after reset.
Programming the Flash/EE program memory via ULOAD
User Download (ULOAD) Mode.
FFFFH
E000H
DFFFH
0000H
USER BOOTLOADER SPACE
THE USER BOOTLOADER
SPACE CAN BE PROGRAMMED IN
DOWNLOAD/DEBUG MODE VIA THE
KERNEL BUT IS READ ONLY WHEN
EXECUTING USER CODE
6 kBYTE
F800H
F7FFH
USER DOWNLOAD SPACE
EITHER THE DOWNLOAD/DEBUG
KERNEL OR USER CODE (IN
ULOAD MODE) CAN PROGRAM
THIS SPACE.
EMBEDDED DOWNLOAD/DEBUG KERNEL
PERMANENTLY EMBEDDED FIRMWARE ALLOWS
CODE TO BE DOWNLOADED TO ANY OF THE
62 kBYTES OF ON-CHIP PROGRAM MEMORY.
THE KERNEL PROGRAM APPEARS AS 'NOP'
INSTRUCTIONS TO USER CODE.
56 kBYTE
2 kBYTE
62 kBYTES
OF USER
CODE
MEMORY
02
98
7-
0
38
Figure 49. Flash/EE Program Memory Map in ULOAD Mode