完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如题,在app_main内打印,通过串口查看时间,测试结果如下:
SPI FLASH设为40MHZ,boot和app都为LOGI级 首次启动,12.651启动 -》13.998进入app_mian,用时1347ms 深度睡眠唤醒,17.462-》18.910,用时1448ms SPI FLASH设为40MHZ,boot和app都为LOGI级,设置深度睡眠唤醒时调过固件验证功能 首次启动,49.437 -》50.803,用时1366ms 深睡唤醒,02.111-》03.197,用时1086ms SPI FLASH设为40MHZ,boot和app都为LOGE级,设置深度睡眠唤醒时调过固件验证功能 首次启动,42.300 -》43.470,用时1170ms 深睡唤醒,54.570-》55.482,用时912ms SPI FLASH设为80MHZ,boot和app都为LOGE级,设置深度睡眠唤醒时调过固件验证功能 首次启动,11.068 -》12.200,用时1132ms 深睡唤醒,23.296-》24.209,用时913ms 深度睡眠调过固件检测可以减少260ms左右的时间 LOGE比LOGI可以减少180ms左右的进入app_main 的时间 SPI FLASH的变化, 影响貌似不明显 这么来看,最快还是得靠近1s,跟CSDN上官方说的几十ms,差距很大,该如何优化? |
|
相关推荐
1个回答
|
|
从您提供的信息来看,您正在尝试优化应用程序启动到app_main函数的时间。以下是一些建议来帮助您优化这个过程:
1. **减少启动过程中的初始化操作**:检查app_main函数以及之前的代码,看看是否有不必要的初始化操作。如果有,尝试将它们移到app_main函数内部,或者在需要时再进行初始化。 2. **优化SPI Flash的读写速度**:您已经将SPI Flash设置为40MHz,这是一个相对较高的速度。但是,您还可以尝试优化SPI Flash的读写操作,例如减少读写次数,使用DMA(直接内存访问)等。 3. **减少日志输出**:在启动过程中,过多的日志输出可能会影响性能。您可以在启动过程中减少日志输出,或者将日志级别设置为更低的级别,如LOGE(错误)。 4. **使用更快的启动模式**:如果可能的话,尝试使用更快的启动模式。例如,如果您的设备支持从RAM启动,而不是从Flash启动,这可能会减少启动时间。 5. **优化固件验证功能**:您提到在深度睡眠唤醒时调用了固件验证功能。如果这个功能不是必需的,您可以尝试禁用它,或者优化它的实现,以减少启动时间。 6. **使用性能分析工具**:使用性能分析工具(如ESP-IDF的esp_timer)来测量启动过程中各个阶段的时间消耗,找出性能瓶颈,并针对性地进行优化。 7. **代码优化**:检查您的代码,看看是否有可以优化的地方,例如减少循环次数、使用更高效的算法等。 8. **硬件优化**:如果可能的话,尝试使用更快的硬件,例如更快的处理器、更快的存储器等。 综上所述,优化启动时间需要从多个方面进行考虑。希望这些建议能帮助您提高应用程序的启动速度。 |
|
|
|
只有小组成员才能发言,加入小组>>
528浏览 6评论
438浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
425浏览 5评论
423浏览 4评论
398浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 23:26 , Processed in 0.793400 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号