完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1、一般来说大内存下载小固件,剩余内存空间空闲着是不影响使用的。然而ESP8266除了boot.bin下载到固定的0x00000地址,user1.bin下载到固定的0x01000以外,其他如user2.bin,blank.bin,esp_init_data_default.bin的下载地址是和内存大小相关的。那么ESP8266是如何保证这些代码数据可以被正确访问到的呢?难道boot.bin会自动检测内存大小然后推算出user2.bin,blank.bin,esp_init_data_default.bin的位置?如果我用64Mbit或128Mbit的Flash又该如何布局,如何下载?
2、ESP8266官方下载工具里的SPI 速度设置,晶振频率选择,Flash 容量选择有何实际意义?这些设置不是应该用程序修改的嘛?难道这里的设置能用来修改boot.bin里的参数?或者这些设置仅仅是在下载程序的时候起作用,不影响程序的运行? 3、ESP8266的初始串口波特率和晶振有关,那么用串口下载程序的时候ESP8266是靠什么机制保证无论是26M晶振还是40M晶振都能用115200的波特率下载?还是用26M晶振时只能用76800的波特率下载? |
|
相关推荐
1个回答
|
|
1. ESP8266挂载不同大小的Flash ROM,下载bin文件的地址不同的原因:
ESP8266的固件分为多个部分,包括boot.bin、user1.bin、user2.bin、blank.bin和esp_init_data_default.bin。这些固件部分有不同的作用和存储位置。boot.bin是启动程序,固定存储在0x00000地址。user1.bin是用户程序,固定存储在0x01000地址。其他固件部分的存储地址与Flash ROM的大小有关。 ESP8266通过以下方式保证这些代码数据可以被正确访问: - 在启动过程中,boot.bin会读取Flash ROM中的配置信息,包括Flash ROM的大小和固件的存储布局。 - 根据Flash ROM的大小,boot.bin会自动计算其他固件部分的存储地址。 - 计算完成后,boot.bin会将这些地址信息存储在内部寄存器中,以便在运行过程中访问其他固件部分。 对于64Mbit或128Mbit的Flash ROM,布局和下载方法如下: - 首先,确保你的ESP8266模块支持64Mbit或128Mbit的Flash ROM。 - 在下载固件时,选择正确的Flash ROM大小选项,以便boot.bin能够正确计算其他固件部分的存储地址。 - 按照官方文档或示例代码,将固件分为多个部分,并将它们分别下载到正确的地址。 2. ESP8266官方下载工具里的SPI速度设置、晶振频率选择、Flash容量选择等: - SPI速度设置:这个选项用于设置SPI通信的速度。根据你的硬件环境和需求,选择合适的速度。一般来说,较高的速度可以提高数据传输效率,但可能会增加错误率。 - 晶振频率选择:这个选项用于设置ESP8266的晶振频率。晶振频率决定了ESP8266的运行速度。选择正确的晶振频率可以确保设备正常工作。 - Flash容量选择:这个选项用于选择ESP8266所使用的Flash ROM的大小。根据你的硬件配置和需求,选择合适的Flash容量。 在使用官方下载工具时,请确保选择正确的参数,以确保固件能够正确下载和运行。同时,参考官方文档和示例代码,了解不同参数的具体作用和设置方法。 |
|
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
437浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 02:01 , Processed in 1.876114 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号