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
Сообщения от 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
Вложения
-
14.1 KB Просмотры: 12
-
18.3 KB Просмотры: 10