完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个带有模块 ESP32-S3-WROOM-1(N16R8) 的定制板。
我的应用程序是电池供电的,同时会在短时间内频繁唤醒。 所以我需要 ESP 在 Deep-Sleep 中停留大部分时间,并将 Run-time 缩短到最低限度。 目前启动需要96ms,我希望能达到<10ms。 我已经做了以下工作,这有帮助: 1) app_main() 调用 esp_log_level_set("*", ESP_LOG_ERROR); // 将所有组件设置为错误级别 // 以便下次唤醒,不需要启动调试消息 esp_deep_sleep_disable_rom_logging(); // 抑制引导消息 2) 在 Menuconfig 中设置: Bootloader config ---> Bootloader 优化级别:优化性能 (-O2) Bootloader 日志详细程度:无输出 [x] 退出深度睡眠时跳过图像验证 组件配置 ---> ESP32S3-Specific ---> 支持外部,SPI 连接RAM SPI RAM 配置 ---> [] 在 SPI RAM 初始化时运行内存测试(即禁用) 3)下面是我尝试过但没有效果的列表: - 将 CPU 频率从 160 MHz 更改为 240 MHz(它使可能相差 1 毫秒) - 配置引导 ROM 行为 ---> 永久更改引导 ROM 输出:永久禁用日志记录, 不可能,它导致它不断自我重置: Guru Meditation Error: Core 0 panic'ed (LoadProhibited)。异常未处理。 - 配置串行闪存配置 ---> 'idf.py monitor' 波特率(115200 bps) ---> 921600 bps + 在 platformio.ini 中也发生了变化: monitor_speed = 921600 - 配置串行闪存配置 ---> 闪存大小: 16 MB [] 刷新引导加载程序时检测闪存大小(即禁用) -配置 SPI RAM 配置 ---> [] 在启动期间初始化 SPI RAM(即禁用) 4)我不能做什么: Flash 必须配置为 DIO,因为在使用 ESP-IDF 4.4.2 时设置 Quad-IO 会导致崩溃。 以前的 4.4.1 配置为 Quad,但我需要 4.4.2,因为它修复了切换到 Deep-Sleep 时的一些重置。 因此,不可能以这种方式加速 Flash。 5) 无论我做什么,它仍然会在从深度睡眠唤醒时打印以下日志消息,它可能会浪费一些时间: I (32) spi_flash: detected chip: gd I (33) spi_flash: flash io: dio I ( 83) sleep: 配置隔离所有处于睡眠状态 I的GPIO引脚 (84) sleep: 启用GPIO睡眠配置 I的自动切换 (86) cpu_start: 在PRO CPU上启动调度程序。 还有什么可以缩短启动时间的吗? 有什么可以完全停用所有引导日志消息的吗? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1149 浏览 1 评论
582浏览 6评论
480浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
465浏览 5评论
466浏览 4评论
441浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 23:32 , Processed in 0.746772 second(s), Total 73, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号