#include #include #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "esp_chip_info.h" #include "esp_flash.h" #include "esp_system.h" #include "esp_log.h" #define TAG "common" void common_print_boot_info(void) { esp_chip_info_t chip_info; uint32_t flash_size = 0; esp_chip_info(&chip_info); ESP_LOGI(TAG, "Chip: %s, cores: %d, features: %s%s%s%s", CONFIG_IDF_TARGET, chip_info.cores, (chip_info.features & CHIP_FEATURE_WIFI_BGN) ? "WiFi/" : "", (chip_info.features & CHIP_FEATURE_BT) ? "BT" : "", (chip_info.features & CHIP_FEATURE_BLE) ? "BLE" : "", (chip_info.features & CHIP_FEATURE_IEEE802154) ? ", 802.15.4" : ""); unsigned major_rev = chip_info.revision / 100; unsigned minor_rev = chip_info.revision % 100; ESP_LOGI(TAG, "Revision: v%u.%u", major_rev, minor_rev); if (esp_flash_get_size(NULL, &flash_size) != ESP_OK) { ESP_LOGW(TAG, "Cannot read flash size"); } else { ESP_LOGI(TAG, "Flash: %" PRIu32 " MB %s", flash_size / (uint32_t)(1024 * 1024), (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external"); } ESP_LOGI(TAG, "Min free heap: %" PRIu32 " bytes", esp_get_minimum_free_heap_size()); for (int i = 3; i > 0; i--) { ESP_LOGI(TAG, "Start in %d...", i); vTaskDelay(pdMS_TO_TICKS(500)); } }