乐鑫技术交流
直播中

七上八下

8年用户 836经验值
私信 关注
[问答]

Flash下载工具或spi_flash_read无法在0x81000上运行怎么解决?

我使用 ESP flash downlaod tools v1.2 来刷写我的 ESP12E (32 MBit)
ESP Flash 下载工具报告:
闪存供应商:E0h:不适用 闪存开发ID:4016h QUAD;32Mbit晶体:26 Mhz

我的 bin 文件的大小是 174 KB (177.653 字节)。
我烧掉了我的垃圾桶文件@ 0x81000。当我使用 spi_flash_read((uint32)0x81000, (uint32 *)something, 3000); 从中读取 3000 个字节时;
它惨败了。

*叹息* *T_T* /swt

我已经尝试烧录它@0x10000,我可以使用 spi_flash_read((uint32)0x10000, (uint32 *)something, 3000);

which one is the bugger here ? the "flash download tool v1.2" or the "spi_flash_read function" ???

有人经历过这个吗?请指教


回帖(1)

刘丰标

2024-7-18 17:58:45
从您的描述来看,您在使用 ESP Flash Download Tool v1.2 刷写 ESP12E(32 MBit)时遇到了一些问题。您尝试将 bin 文件烧录到 0x81000 地址,但使用 spi_flash_read 读取时失败了。以下是一些建议和解决方案:

1. **检查 bin 文件的完整性**:确保您的 bin 文件没有损坏或不完整。您可以尝试重新生成或下载 bin 文件,然后再次进行烧录。

2. **确保烧录地址正确**:ESP8266 的 flash 地址通常是 0x0 到 0x3FFFFF(即 4MB)。您尝试烧录到 0x81000,这个地址在 ESP8266 的 flash 范围内,但请确保您的应用程序和 bin 文件都支持从这个地址开始运行。

3. **检查烧录工具的兼容性**:确保您使用的 ESP Flash Download Tool v1.2 与您的 ESP12E(32 MBit)兼容。如果不兼容,您可以尝试使用其他烧录工具,如 NodeMCU Flasher 或 esptool.py。

4. **检查烧录参数**:在烧录过程中,确保您使用了正确的参数。例如,烧录速度、烧录模式等。这些参数可能会影响烧录结果。

5. **检查 SPI 读取函数**:您提到使用 spi_flash_read 读取时失败了。请检查您的代码中 spi_flash_read 函数的实现是否正确。确保传入的参数和返回值都正确处理。

6. **尝试不同的烧录地址**:您提到尝试将 bin 文件烧录到 0x10000 地址,这似乎可以正常工作。您可以尝试将 bin 文件烧录到其他地址,如 0x00000 或 0x20000,然后使用相应的地址进行读取。

7. **检查硬件连接**:确保您的 ESP12E 模块与计算机之间的连接正确。检查 USB 线、串口转换器等硬件设备是否正常工作。

8. **查看错误日志**:在烧录过程中,查看 ESP Flash Download Tool 或其他烧录工具的错误日志。这可能会提供有关问题的更多信息。

9. **尝试其他 ESP8266 模块**:如果可能的话,尝试使用其他 ESP8266 模块进行测试。这可以帮助您确定问题是否与特定的 ESP12E 模块有关。

通过以上步骤,您应该能够找到问题所在并解决它。如果问题仍然存在,请提供更多详细信息,以便进一步分析和解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分