• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Писал, писал и с какого-то момента забил IRAM.

Slacky

Member
Теперь линковщик выдает что-то типа - xtensa-lx106-elf/bin/ld.exe: build/app.out section `.text' will not fit in region `iram1_0_seg'

Вопрос - как правильно писать код, чтобы не забить IRAM?

Например

static char buff [16] = {0};

Где разместится?

Про ICACHE_FLASH_ATTR у функций знаю. Может еще что-то надо учитывать?

Спасибо.
 

nikolz

Well-known member
Теперь линковщик выдает что-то типа - xtensa-lx106-elf/bin/ld.exe: build/app.out section `.text' will not fit in region `iram1_0_seg'

Вопрос - как правильно писать код, чтобы не забить IRAM?

Например

static char buff [16] = {0};

Где разместится?

Про ICACHE_FLASH_ATTR у функций знаю. Может еще что-то надо учитывать?

Спасибо.
Соберите в UDK с выводом размера секций и экспериментируйте.
Читайте про секции GCC например здесь:
Форматы и секции
 
Сверху Снизу