In ATmega32 microcontroller two main memory spaces i.e. the program memory and data memory space are used. In addition it uses an EEPROM memory for data storage.
In System Programmable Flash Program Memory:
ATmega32 microcontroller contains 32Kb of on-chip in system programmable flash memory for program storage. Flash memory is organized as 16K X 16K structure and its memory is divided into two sections application program section and boot program section.
Consider the ISP programmer circuit diagram is:
SRAM Data Memory:
The Register file, the internal data SRAM and I/O memory are addressed by the lower 2144 data memory locations. The first 96 locations address the I/O memory and Register file, and the internal data Static RAM is addressed by the next 2048 locations.
Consider the five different addressing modes for the data memory is:-
SRAM data memory have 32 general purpose registers, 2048 bytes of internal data SRAM, and 64 I/O registers are accessible by using the above addressing modes.
Consider the SRAM data memory structure shown in block diagram of ATmega32 is:
EEPROM Data Memory:
ATmega32 contains 1024 bytes of data EEPROM memory. It can be used as a separate data space in which single bytes can be read and written.