乐鑫技术交流
直播中

LL-LING宁

8年用户 1279经验值
擅长:电源/新能源
私信 关注
[问答]

esp32s3的启动时间远大于esp32,为什么?

我自己画了一块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
                                                                                                                                                           

回帖(1)

神船大幅

2024-7-1 16:13:18
以下是一些可能的原因:

1. **硬件设计差异**:ESP32-S3和ESP32的硬件设计可能有所不同,这可能导致启动时间的差异。检查你的开发板设计,确保电源、时钟和复位威廉希尔官方网站 正确无误。

2. **芯片内部逻辑差异**:ESP32-S3和ESP32的内部逻辑可能有所不同,这可能影响启动时间。例如,不同的启动模式、时钟配置或内部计时器逻辑。

3. **软件配置差异**:检查你的程序配置,确保ESP32-S3和ESP32使用的是相同的配置。例如,时钟源、时钟频率和启动模式等。

4. **固件差异**:ESP32-S3和ESP32可能使用了不同的固件版本,这可能影响启动时间。确保两个芯片使用的是相同版本的固件。

5. **外部干扰**:检查你的开发环境,确保没有外部干扰影响启动时间。例如,电源波动、电磁干扰等。

为了解决这个问题,你可以尝试以下步骤:

1. **检查硬件设计**:仔细检查你的ESP32-S3开发板设计,确保电源、时钟和复位威廉希尔官方网站 正确无误。

2. **比较软件配置**:确保ESP32-S3和ESP32使用的是相同的软件配置,包括时钟源、时钟频率和启动模式等。

3. **更新固件**:检查ESP32-S3和ESP32的固件版本,确保它们使用的是相同版本的固件。

4. **测试不同启动模式**:尝试使用不同的启动模式,例如从内部或外部存储器启动,以查看是否影响启动时间。



举报

更多回帖

发帖
×
20
完善资料,
赚取积分