По вашей ссылке, Named-Address-Spaces, цитата: Devices belonging to
avrtiny and avrxmega3... ...There is no need for language
extensions like __flash or attribute progmem. The default linker
description files for these devices cater for that feature and
.rodata stays in flash: The compiler just generates LD*
instructions, and the linker script adds core specific offsets to
all .rodata symbols: 0x4000 in the case of avrtiny and 0x8000 in
the case of avrxmega3. See AVR Options for a list of respective devices.
AVR Options
Выходит, что если ядро МК поддерживается, и код можно скомпилировать GCC (не avr-gcc), то всё будет сделано автоматически, основываясь на месте размещения данных. На всякий случай посмотреть предупреждения компилятора.
Не уверен, но думаю, что на avr-gcc автоматически определить размещение массива нельзя, поэтому только отдельными функциями.