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

Методы увеличения памяти для собственных приложений в sdk-ameba1-v3.4b3_without_NDA.

pvvx

Активный участник сообщества
"Полу-машинный" перевод с китайского:8710 RTL8710 IOT ESP8266 物联网 - Powered by Discuz!

Сообщения от jimmysqf в 2016-5-26 18:33

Если они не хватает оперативной памяти, в результате чего не влезает программа после компиляции, возможно освободить RAM ресурсы следующими способами:

A) При использовании 8711AM / 8195AM, код может быть перемещен в SDRAM.
Обратитесь к SDK doc UM0034

1) Занимаемые в SDK 3.4b выпуска пространства:
cmsis : 1 KB
console: 10 KB
network: 50 KB
os: 8 KB
peripheral: 10 KB
utilities: 1 KB

2) Если глобальная переменная очень большая, то эта переменная может быть объявлена в SDRAM пространстве:
eq: SDRAM_DATA_SECTION INT user_data [MAX_SIZE];

B) Отрегулировать размер Heap. Размер Heap в SDK по умолчанию составляет 60KB.

Соответствующий размер кучи (Heap) может быть уменьшен. Надо гарантировать минимальный размер динамической памяти 15KB:

1) В FreeRTOSConfig.h
# определить configTOTAL_HEAP_SIZE ((size_t) (60 * 1024)) // по умолчанию 60 КБ

C) В platform_opts.h сосредоточены многие функции переключения, в зависимости от их применения закрыть ненужные настройки:

[HASHTAG]#define[/HASHTAG] SUPPORT_MP_MODE 0
Увеличение SRAM примерно около 7256 байт (приблизительно 7 КБ)

[HASHTAG]#define[/HASHTAG] CONFIG_ENABLE_WPS 0
Если отключено, увеличение SRAM на 16692 байт (около 16,3 КБ)

[HASHTAG]#define[/HASHTAG] CONFIG_OTA_UPDATE 0
Если отключено, увеличение SRAM на 3204 байт (приблизительно 3 K)

[HASHTAG]#define[/HASHTAG] CONFIG_EXAMPLE_WLAN_FAST_CONNECT 0
После выключения SRAM +900 byte

[HASHTAG]#define[/HASHTAG] CONFIG_INCLUDE_SIMPLE_CONFIG 0
После отключения SRAM увеличивается на 7108 байт (около 7 K)

[HASHTAG]#define[/HASHTAG] SUPPORT_LOG_SERVICE 0
АТ команды не должна быть удалены.

Удалить log service -> увеличение SRAM 56004 байт (приблизительно 55 КБ)

Удалить AT команды -> должен быть добавлен патч 3.4b_patch_log_service (V01) .zip

D) Вы можете рассмотреть вопрос о TCP/IP thread stack перемещая его в TCM Heap

Пожалуйста, обратите внимание, что используется TCM
Будет ли доступ к буферу памяти в периферийной области TCM
Если переехал в TCM, то SRAM увеличится на 4K
На основе патча: 3.4b_patch_use_tcm_ (V01) .zip

E) Можно log_service стек переместить в TCM Heap
Если переехал в TCM, SRAM может получить 5.12KB
На основе патча, примеры того, как ссылаться на стек TCP/IP thread stack TCM Heap
 

Вложения

Сверху Снизу