2022-05-09 06:10:08 -04:00
|
|
|
/*
|
|
|
|
* SPDX-FileCopyrightText: 2010-2022 Espressif Systems (Shanghai) CO LTD
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: CC0-1.0
|
|
|
|
*/
|
2018-11-11 02:36:24 -05:00
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include "freertos/FreeRTOS.h"
|
|
|
|
#include "freertos/task.h"
|
2022-01-12 01:53:47 -05:00
|
|
|
#include "esp_chip_info.h"
|
2022-05-09 06:10:08 -04:00
|
|
|
#include "esp_system.h"
|
2022-06-27 03:24:07 -04:00
|
|
|
#include "esp_flash.h"
|
2018-11-11 02:36:24 -05:00
|
|
|
|
2019-07-16 05:33:30 -04:00
|
|
|
void app_main(void)
|
2018-11-11 02:36:24 -05:00
|
|
|
{
|
|
|
|
printf("Hello world!\n");
|
|
|
|
|
|
|
|
/* Print chip information */
|
|
|
|
esp_chip_info_t chip_info;
|
2022-06-27 03:24:07 -04:00
|
|
|
uint32_t flash_size;
|
2018-11-11 02:36:24 -05:00
|
|
|
esp_chip_info(&chip_info);
|
|
|
|
printf("This is ESP32 chip with %d CPU cores, WiFi%s%s, ",
|
|
|
|
chip_info.cores,
|
|
|
|
(chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
|
|
|
|
(chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");
|
|
|
|
|
2022-11-09 04:19:35 -05:00
|
|
|
unsigned major_rev = chip_info.revision / 100;
|
|
|
|
unsigned minor_rev = chip_info.revision % 100;
|
|
|
|
printf("silicon revision v%d.%d, ", major_rev, minor_rev);
|
2022-06-27 03:24:07 -04:00
|
|
|
if(esp_flash_get_size(NULL, &flash_size) != ESP_OK) {
|
|
|
|
printf("Get flash size failed");
|
|
|
|
return;
|
|
|
|
}
|
2018-11-11 02:36:24 -05:00
|
|
|
|
2022-06-27 03:24:07 -04:00
|
|
|
printf("%dMB %s flash\n", flash_size / (1024 * 1024),
|
2018-11-11 02:36:24 -05:00
|
|
|
(chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");
|
|
|
|
|
|
|
|
for (int i = 10; i >= 0; i--) {
|
|
|
|
printf("Restarting in %d seconds...\n", i);
|
|
|
|
vTaskDelay(1000 / portTICK_PERIOD_MS);
|
|
|
|
}
|
|
|
|
printf("Restarting now.\n");
|
|
|
|
fflush(stdout);
|
|
|
|
esp_restart();
|
|
|
|
}
|