The context is as follow:
By default, AVR puts code in the .text area and assigns this to flash.
Variables are put in .data and assigned to RAM. Eprom (given with the compiler directive) is allocated to .eeprom
EECV is a area (section) I've defined on my own. When linking, I allocate this to 0x810000 and put the default .eeprom section to 0x810028.
Those values are indicated in the project via Memory settings. EECV is indicated as EEPROM
The issue is with the HEX file. EECV is not removed from flash file, so the loader refuse to load the EECV section of the HEX file which is then out of range.
Solution: add -R .EECV in the ## Intel Hex file production flags section of make file