VSCode(PlatformIO)环境下ESP8266-01S Flash大小相关烧录异常问题
故障原因
你观察到的Flash容量未自动检测确实是故障核心诱因。PlatformIO默认不会对ESP8266系列开发板执行Flash容量自动检测,会直接使用所选开发板配置的默认Flash大小参数,多数通用ESP8266开发板的默认配置为4MB,和你手上1MB容量的ESP8266-01S硬件不匹配,会导致固件寻址错误,出现运行异常。
解决步骤
- 打开项目根目录下的
platformio.ini配置文件 - 在对应ESP8266的环境配置段,添加/修改以下参数:
; 手动指定Flash容量为1MB board_build.flash_size = 1MB ; 匹配1MB容量的链接脚本,适配分区布局 board_build.ldscript = eagle.flash.1m.ld ; 可选:开启Flash容量自动检测,和Arduino IDE行为一致 ; upload_flags = --flash_size detect - 保存配置后重新执行编译、烧录操作即可
烧录后再次查看日志,就会出现对应Flash容量的识别记录,固件也可以正常运行。
内容的提问来源于stack exchange,提问作者Romain Bayart
相关产品推荐
相关产品推荐

