完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
在IDF下烧录APP,默认会压缩APP,然后烧录压缩后的数据。烧录脚本esptool.py采用python zlib库函数进行压缩。我查看了bootloader代码,并未发现zlib解压的过程,代码只是设置了IROM MMU映射了,然后就直接读取FLASH的内容,但实际运行又能正常,所以我感到很疑惑,运行时分区镜像的zlib解压过程是在哪里?
Changing baud rate to 460800 Changed. Configuring flash size... Flash will be erased from 0x00010000 to 0x0003efff... Compressed 191520 bytes to 99726... Writing at 0x00010000... (14 %) Writing at 0x0001b380... (28 %) Writing at 0x000217fd... (42 %) Writing at 0x00028da6... (57 %) Writing at 0x0002fe44... (71 %) Writing at 0x00036db2... (85 %) Writing at 0x0003e1a7... (100 %) Wrote 191520 bytes (99726 compressed) at 0x00010000 in 2.8 seconds (effective 539.8 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin... |
|
相关推荐
1个回答
|
|
|
在ESP-IDF中,烧录APP时默认会压缩APP,然后烧录压缩后的数据。这是因为ESP32的闪存空间有限,压缩可以节省空间。当你使用esptool.py进行烧录时,它会使用Python的zlib库函数进行压缩。
关于解压过程,实际上在烧录过程中并没有直接进行解压。ESP32的bootloader会在启动时自动处理压缩的APP分区。具体来说,这个过程发生在以下步骤: 1. bootloader启动:当ESP32设备上电或复位时,bootloader会被加载并执行。 2. 检查分区表:bootloader会读取并解析分区表,找到APP分区的起始地址和长度。 3. 检查压缩标记:bootloader会检查APP分区的头部,确认数据是否被压缩。 4. 解压APP:如果APP分区被压缩,bootloader会使用zlib库进行解压。ESP-IDF的bootloader中包含了zlib库的实现,因此可以在设备上直接进行解压操作。 5. 跳转到APP:解压完成后,bootloader会将控制权交给APP的入口点,开始执行APP。 所以,虽然你在bootloader代码中没有找到zlib解压的过程,但实际上这个过程是在启动时自动完成的。这就是为什么实际运行时能够正常工作的原因。 总结一下,运行时分区镜像的zlib解压过程是在ESP32设备的bootloader启动时自动进行的。这个过程使用了zlib库对压缩的APP分区进行解压,然后将控制权交给APP。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
944 浏览 0 评论
1671 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5015 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1252浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2334浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2526浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1051浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 01:56 , Processed in 0.766801 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
6191
