完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我们发现 Flash 下载工具在下载过程中可能会擦除比预期更多的扇区。也就是说,如果我们下载一个图像文件,其大小可能覆盖小于扇区 N 的扇区(部分大小为 4096),并且下载日志还显示刻录到部分 N 内的地址,但是在使用乐鑫闪存下载工具成功下载图像文件后,发现下一部分 N 1 也被删除了!
示例 1:尝试下载一个扩展到地址 0x6C004 的图像文件(0x6C004 只是一个示例,类似的东西,它只覆盖扇区开头的几个字节),并且自 0x6D000(下一个扇区 0f 4096 的开头)以来存储了一些有用的数据。下载图像文件后,发现0x6D000中的有用数据已被删除,全部0xFF。 示例 2:尝试将大小较小的映像文件(小于扇区大小 4096)下载到 SPI 闪存的最后一个扇区(例如,在 1MB 的闪存上下载只有 128 字节的 blank.bin 或 esp_init_data_default.bin 到 0x0FF000 的地址,或在 2MB 的闪存上下载 0x1FF000,或在 4MB 的闪存上下载 0x3FF000)。下载成功后,发现地址为0的原始开机已被擦除,模块无法成功开机。然后,您必须在地址 0 处重新下载启动程序。 测试工具:以前的 FLASH_DOWNLOAD_TOOLS_v1.2_150512 和最新的 FLASH_DOWNLOAD_TOOLS_V3.4.9.2(从http://www.espressif.com/en/support/dow......其他工具) 测试模组:ESP-01、ESP-12 系列和许多其他ESP8266模组 测试期间使用的 UART 波特率:115200 和 1152000(两者都表示下载成功,但擦除了意外的额外扇区) 再现:始终100%。 |
|
相关推荐
1个回答
|
|
在使用 Flash 下载工具时,如果发现意外的附加扇区被擦除,可以采取以下步骤来处理这个问题:
1. **检查下载工具设置**:首先,确保下载工具的设置是正确的。检查是否有任何设置可能导致意外的扇区擦除,例如擦除范围设置过大或不正确。 2. **使用正确的擦除命令**:确保使用正确的擦除命令来限制擦除操作仅在需要的扇区内进行。例如,如果使用 SPI Flash,确保擦除命令(如 `SECTOR_ERASE`)仅针对目标扇区。 3. **扇区对齐**:在设计固件或软件时,确保数据存储在扇区边界对齐的位置。这可以减少跨扇区写入数据的可能性,从而降低意外擦除的风险。 4. **备份数据**:在进行任何擦除或写入操作之前,始终备份受影响区域的数据。这可以在意外擦除发生时恢复数据。 5. **使用保护机制**:在 Flash 存储器上实现保护机制,如写保护或锁定区域,以防止意外擦除或修改关键数据。 6. **验证下载过程**:在下载过程中,实时监控 Flash 的状态,确保数据仅写入到预期的扇区内。如果发现异常,立即停止下载并检查问题。 7. **使用专业的 Flash 编程工具**:选择一个可靠的、经过验证的 Flash 编程工具,这些工具通常具有更好的错误检测和处理机制。 8. **更新固件或软件**:如果问题是由于固件或软件的 bug 引起的,尝试更新到最新版本,以修复可能的问题。 9. **硬件检查**:如果问题持续存在,可能需要检查 Flash 存储器的硬件是否存在问题。这可能包括检查 Flash 存储器的规格和兼容性。 10. **联系技术支持**:如果以上步骤都无法解决问题,可能需要联系 Flash 下载工具或 Flash 存储器的制造商,寻求技术支持。 通过采取这些步骤,可以最大限度地减少在使用 Flash 下载工具时意外擦除附加扇区的风险,并确保数据的完整性和安全性。 |
|
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
437浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 22:14 , Processed in 0.623070 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号