Ethernut 1.3 Memory Map
The ATmega128 used on Ethernut 1.3 is a member of the AVR family of microcontrollers, which are Harvard Architecture Machine, where program code and data are stored separately.
Data Memory
Address
|
Description
|
0x0000 - 0x001F
|
CPU Registers (Note 1)
|
0x0020 - 0x005F
|
I/O Registers (Note 1)
|
0x0060 - 0x00FF
|
Extended I/O Registers (Note 1)
|
0x0100 - 0x10FF
|
Fast Internal RAM, no wait states required
|
0x1100 - 0x7FFF
|
External RAM, 1 wait state is recommended
|
0x8000 - 0x82FF
|
Unused, Available for Custom Extensions
|
0x8300 - 0x831F
|
Ethernet Controller Registers (Note 2)
|
0x8320 - 0xFFFF
|
Unused, Available for Custom Extensions
|
Note 1: See ATmega128 datasheet
Note 2: See RTL8019AS datasheet
Program Memory
Word Address
|
Description
|
0x0000 - 0x0045
|
Vector Table
|
0x0046 - 0xEFFF
|
Initialization, RTOS and Application Sections
|
0xF000 - 0xF7FF
|
Bootloader Section, if BOOTSZ = 00b (Note 1)
|
0xF800 - 0xFBFF
|
Bootloader Section, if BOOTSZ = 01b (Note 1)
|
0xFC00 - 0xFDFF
|
Bootloader Section, if BOOTSZ = 10b (Note 1)
|
0xFE00 - 0xF7FF
|
Bootloader Section, if BOOTSZ = 11b (Note 1)
|
Note 1: Available for applications if not used by bootloader.
|