Difference between revisions of "Hardware/Enut1/Memmap"

From Nutwiki
Jump to: navigation, search
(Created page with "{| |width="50%"| {| |width="100%"| |} |width="50%"| {| |width="100%"| |} |- | | {| |width="100%"| = Ethernut 1.3 Memory Map = The ATmega128 used on Ethernut 1.3 is a member o...")
 
(No difference)

Latest revision as of 17:24, 13 July 2017

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.