生产测试

[English]


为什么部分模组使用 DIO/DOUT 时可以正常下载固件,但使用 QOUT/QIO 时程序无法正常运行?

  • 首先需要确认模组内 flash 支持哪些模式,以及模组设计的走线是否满足模式需要。

  • 其次检测 flash 状态寄存器的 QE 位,该 bit 位控制 flash 是否使能四线模式。

  • 不同的乐鑫芯片/模组采用 flash 厂家不同,部分厂商 flash 默认 QE 关闭。需要通过实际测试判断是否支持四线模式。

  • 当 ROM 引导二级引导加载程序时,如果配置的参数使用 QIO 方式读取,会因 QE 关闭而二次读取失败。

  • 建议模组使用 DIO 模式烧录,在 menuconfig 中配置 QIO 模式,该配置会在二级引导加载程序中配置 QE 位使能,进而引导 app bin 使用四线模式。


如何获取产测工具?

CHIP: ESP32 | ESP8266


ESP32 使用 esptool.py burn_custom_mac 命令写入用户自定义 MAC 地址,为什么通过 esptool.py read_mac 读到的还是出厂默认的 MAC 地址?

  • esptool.py read_mac 命令默认只能读到出厂写在 eFuse BLOCK0 的 MAC 地址,而使用 esptool.py burn_custom_mac 命令写入的用户自定义的 MAC 地址是写到 eFuse BLOCK3 中,可以使用 espefuse.py get_custom_mac 命令来查询写入 eFuse BLOCK3 中的 MAC 地址。

  • 更多信息可以参考 esptool 文档


ESP32-WROVER-E (16 MB flash)模组使用 Flash 下载工具下载多个单独的 bin 文件成功,但下载合并的固件 (12 MB) 失败,是什么原因?

由于合并后的固件绝大部分都是 “0xFF”,压缩率比较高,同样长度的压缩数据解压后的数据量比较大,导致烧录时间久出现烧录超时(默认 7 秒)报错。可以关闭 Flash 下载工具里的 configure > esp32 > spi_download 文件里的压缩配置选项来下载合并的固件,如下:

compress = False
no_compress = True