I Just had a look at the datasheet of the AVR128DA64
Have they actually memory mapped registers again (like a mega128) or is this just one of the normal AVR datasheet error ?
The address written there is used to specify a register in the instruction set.
The same writing is done on conventional devices.
It's just so close to this (328p):
So I was hoping.
These memory maps are missing the RAMPZ register located at address 0x3B (AVR128DA family only, this register does not exists in the AVR64DA and AVR32DA chps.)
There is a separate page (table 8-1) showing the VPORTS with base addresses in the 0..0x18 range.
But that is the places with a 0x20 offset, (they are placed where a "normal" AVR has the ports.)
It's a leftover from the xmega design where you could remap different things down to the bit addressable IO area. The new designs can't do that, so instead they fixed the ports to be there.
© 2020 Microchip Technology Inc.