ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
6 мая
1276815 Топик полностью
Nikolay_Po (18.01.2023 11:01, просмотров: 198) ответил SciFi на Вот что-то нашлось про __memx и 24-разрядные указатели. Но у ТС в коде объявлен простой указатель, он может указывать только на SRAM, ЕМНИП:
По вашей ссылке, 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 автоматически определить размещение массива нельзя, поэтому только отдельными функциями.