我自己画了一块esp32s3的
开发板,使用esp32s3-wroom-1 n8r2的模组,最近测试时发现,这个开发板在几乎没有添加额外程序时启动需要70ms,而esp32在使用相同程序测试时甚至只需要3ms。
我看技术手册上似乎没有对芯片最短启动时间或者影响因素等的描述,想请问官方或者哪位大佬是否做过各款芯片启动时间的测试?
我想知道到底是esp32s3这款芯片的启动时间本身就远高于esp32,还是我的硬件设计可能有问题导致了启动时间暴增。
或者是否因为芯片内部的计时器有不同的逻辑,导致程序中获取到的时间有较大差异?
我测试时用的硬件:
esp32:淘宝买的非官方esp32_devkitc_v4开发板,装有esp32-wrover模组;
esp32s3:自己设计的开发板,使用非官方esp32s3-wroom-1 n8r2模组,具体
PCB设计发布在嘉立创开源平台:
https://oshwhub.com/gdnre/esp32s3-wroom-kai-fa-ban;
补充测试:esp32c3:使用合宙的esp32c3经典款开发板(带usb转串口芯片版本);
测试时使用的软件:使用esp-idf的官方startup_
time案例,添加esp_timer.h用来记录时间
以下是使用的代码:Code:
Select all
#include #include "esp_log.h"#include "esp_timer.h"static const char *TAG = "example";void app_main(void){ uint64_t starttime = esp_timer_get_time(); esp_log_level_set("*", ESP_LOG_INFO); ESP_LOGI(TAG, "App started!"); ESP_LOGI(TAG, "启动时间:%llu",starttime);}
下面是esp32的控制台输出:启动时间3.5msCode:
Select all
ho 8 tail 4 room 4load:0x40080404,len:3816entry 0x400805e4W (38) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.I (40) example: App started!I (40) example: 启动时间:3561I (40) main_task: Returned from app_main()
下面是esp32s3的控制台输出:启动时间75.7msCode:
Select all
ESP-ROM:esp32s3-20210327Build:Mar 27 2021rst:0x15 (USB_UART_CHIP_RESET),boot:0xb (SPI_FAST_FLASH_BOOT)Saved PC:0x403782baSPIWP:0xeemode:DIO, clock div:1load:0x3fce3820,len:0x13d4load:0x403c9700,len:0x4load:0x403c9704,len:0xc1cload:0x403cc700,len:0x2e84entry 0x403c98b4W (72) spi_flash: Detected size(8192k) larger than the size in the binary image header(2048k). Using the size in the binary image header.I (75) example: App started!I (75) example: 启动时间:75764I (85) main_task: Returned from app_main()
合宙的esp32c3使用esp-idf刷入固件后报错,我第一次用esp-idf还没研究清楚如何配置,因此给出用arduino测试的结果,arduino中使用了millis()在setup函数的起始获取时间,3款芯片结果分别如下:
esp32c3:84
esp32:14
esp32s3:114