Начал делать для дисплея Sunton ESP32 большой LVGL проект и через какое -то время столкнулся с такой вот ошибкой компилятора: dram0.bss' will not fit in region dram0_0_seg В целом понятно. Размер блока данных (BSS) или dram0.bss превышает размер доступной памяти (region), в данном случае - dram0_0_seg. LVGL библиотека большая. Подозреваю, что за время своего существования обросла множеством костылей и оптимизация там явно не самая лучшая. Если для различных демок и прочего ресурсов еще хватает, то в сложных проектах, с подключением различных дополнительных библиотек, которые не факт, что тоже идеально оптимизированы вполне может возникнуть такая ошибка. Памяти на все попросту не хватает. Напрашивается логичное решение. Либо увеличить доступную память, либо изменить размеры сегментов памяти, чтобы вместить в них нужные данные. Ну или вручную раскидать данные по сегментам, исходя из их размеров. В Arduino проектах выделением памяти занимается стандартная функция maloc(), являющаяся часть
Ошибка при компиляции проекта dram0.bss will not fit in region dram0_0_seg. Что это и как с этим бороться?
27 апреля 202327 апр 2023
249
2 мин