ESP32入门基础之资源管理

Posted while(1)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ESP32入门基础之资源管理相关的知识,希望对你有一定的参考价值。

文章目录

1 ESP32-DevKitC V4(ESP32-WROVER-E&IE)板载资源

  1. ESP32-DevKitC V4 入门指南

  2. esp32-devkitc开发板参数对比

  3. 在工程中使用函数查询可用堆大小等信息

        esp_chip_info_t chip_info;
        esp_chip_info(&chip_info);
        printf("This is %s chip with %d CPU core(s), WiFi%s%s, ",
                CONFIG_IDF_TARGET,
                chip_info.cores,
                (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
                (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");
    
        printf("silicon revision %d, ", chip_info.revision);
    
        printf("%dMB %s flash\\n", spi_flash_get_chip_size() / (1024 * 1024),
                (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");
    
        printf("free heap size: %d bytes\\n", esp_get_free_heap_size());
        printf("free internal heap size: %d bytes\\n", esp_get_free_internal_heap_size());
        printf("Minimum free heap size: %d bytes\\n", esp_get_minimum_free_heap_size());
    

    串口显示

  4. 在PowerShell使用指令esptool.py -p COM* flash_id 查询模组实际flash大小和芯片信息等数据

  5. 查询外部PSRAM信息
    先选择支持外部RAM,打开menuconfig菜单配置
    再重新编译,烧录程序并打开串口数据
    也可以在工程中调用相应函数查询

2 FreeRTOS任务内存使用监控

  1. 如图勾选

  2. 编写测试程序

    	static void monitor_task(void *pvParameters)
    	
    		static char InfoBuffer[512] = 0;
    		while (1)
    		
    	        vTaskList((char *) &InfoBuffer);
    			printf("任务名      任务状态 优先级   剩余栈 任务序号\\r\\n");
    			printf("\\r\\n%s\\r\\n", InfoBuffer);
    	
    			vTaskGetRunTimeStats((char *) &InfoBuffer);
    			printf("\\r\\n任务名       运行计数         使用率\\r\\n");
    			printf("\\r\\n%s\\r\\n", InfoBuffer);
    	        vTaskDelay(2000 / portTICK_PERIOD_MS);
    		
    	
    	void app_main(void)
    	
    	    xTaskCreate(monitor_task, "monitor_task", 4096, NULL, 6, NULL);
    	    while(1)
    	    
    		
        
    
  3. 编译烧录并打开串口
    注意,该方法要长时间监控才比较准确

以上是关于ESP32入门基础之资源管理的主要内容,如果未能解决你的问题,请参考以下文章

ESP32入门基础之SPIFFS

ESP32入门基础之SPIFFS

LittlevGL ESP32 学习笔记 ①移植最新的 LVGL 版本到安信可ESP32C3模组,显示一个二维码。(附带源码)

LittlevGL ESP32 学习笔记 ①移植最新的 LVGL 版本到安信可ESP32C3模组,显示一个二维码。(附带源码)

LittlevGL ESP32 学习笔记 ①移植最新的 LVGL 版本到安信可ESP32C3模组,显示一个二维码。(附带源码)

LittlevGL ESP32 学习笔记 ①移植最新的 LVGL 版本到安信可ESP32C3模组,显示一个二维码。(附带源码)