MicroPython:Библиотеки/esp32/esp32.idf heap info(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =Модуль esp32 – функционал ESP3...»)
 
Строка 9: Строка 9:




Возвращает информацию о кучах ''ESP-IDF''. Один из них содержит кучу [[MicroPython]], а другие используются ''ESP-IDF'', например, для сетевых буферов и других данных. Эта информация полезна для того, чтобы узнать, сколько памяти доступно ''ESP-IDF'' и, в частности, сетевому стеку. Она может пролить свет на ситуации, когда операции ''ESP-IDF'' дают сбой из-за проблем с выделением памяти. Впрочем, эта информация бесполезна для выявления проблем с выделением памяти в [[Python]] – используйте для этого [http://docs.micropython.org/en/latest/library/micropython.html#micropython.mem_info micropython.mem_info()].
Возвращает информацию о кучах ''ESP-IDF''. Один из них содержит кучу [[MicroPython]], а другие используются ''ESP-IDF'', например, для сетевых буферов и других данных. Эта информация полезна для того, чтобы узнать, сколько памяти доступно ''ESP-IDF'' и, в частности, сетевому стеку. Она может пролить свет на ситуации, когда операции ''ESP-IDF'' дают сбой из-за проблем с выделением памяти. Впрочем, эта информация бесполезна для выявления проблем с выделением памяти в [[Python]] – используйте для этого [[MicroPython:Библиотеки/micropython/micropython.mem info()|micropython.mem_info()]].


Аргумент ''capabilities'' соответствует значениям ''MALLOC_CAP_XXX'' в ''ESP-IDF'', но два наиболее полезных – это предзаданные esp32.HEAP_DATA (участки кучи для данных) и esp32.HEAP_EXEC (участки, где можно выполнять код, используемые эмиттером нативного кода).
Аргумент ''capabilities'' соответствует значениям ''MALLOC_CAP_XXX'' в ''ESP-IDF'', но два наиболее полезных – это предзаданные esp32.HEAP_DATA (участки кучи для данных) и esp32.HEAP_EXEC (участки, где можно выполнять код, используемые эмиттером нативного кода).

Версия от 19:10, 26 октября 2020

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Модуль esp32 – функционал ESP32[1]

esp32.idf_heap_info(capabilities)


Возвращает информацию о кучах ESP-IDF. Один из них содержит кучу MicroPython, а другие используются ESP-IDF, например, для сетевых буферов и других данных. Эта информация полезна для того, чтобы узнать, сколько памяти доступно ESP-IDF и, в частности, сетевому стеку. Она может пролить свет на ситуации, когда операции ESP-IDF дают сбой из-за проблем с выделением памяти. Впрочем, эта информация бесполезна для выявления проблем с выделением памяти в Python – используйте для этого micropython.mem_info().

Аргумент capabilities соответствует значениям MALLOC_CAP_XXX в ESP-IDF, но два наиболее полезных – это предзаданные esp32.HEAP_DATA (участки кучи для данных) и esp32.HEAP_EXEC (участки, где можно выполнять код, используемые эмиттером нативного кода).

Возвращаемое значение – это список 4-элементных кортежей, где каждый кортеж соответствует одной куче и содержит: общее количество байтов, свободное место (в байтах), самый большой свободный блок и минимальное количество свободной памяти за все время.

Пример после загрузки:

>>> import esp32; esp32.idf_heap_info(esp32.HEAP_DATA)
[(240, 0, 0, 0), (7288, 0, 0, 0), (16648, 4, 4, 4), (79912, 35712, 35512, 35108), (15072, 15036, 15036, 15036), (113840, 0, 0, 0)]

См.также

Внешние ссылки