• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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
 

Вложения

Сверху Снизу