WIFI技术
直播中

王岩

7年用户 807经验值
私信 关注
[问答]

S6J3300的FLASH_If_Erase_Sector(1)擦除不掉是什么原因?

1.当程序在AXI_FLASH 4MB运行的时候,是不是不能进行此块擦和写入?
有关于此芯片网络BootLoader的demo或者什么flash操作的建议么?
2.在擦除WORK_FLASH (0E00_0000)的时候,
Sector=GetSector(0x0E001100U);
FLASH_If_Erase_Sector(Sector);
只能擦除FLASH_If_Erase_Sector(0);的部分,FLASH_If_Erase_Sector(1)擦除不掉,这是什么原因?
                                                                                                                                                                                                                                                     

回帖(1)

王娟

2024-2-22 17:01:41
1. 程序在运行期间是不能对同一个地址进行擦除和写入操作的,否则可能会导致错误或损坏数据。所以,在程序运行期间,确保不对该块进行操作,或者在必要的时候停止程序运行。

关于S6J3300这款芯片的网络BootLoader的demo或者flash操作建议,建议您查阅S6J3300的官方文档或联系芯片厂商获取相关资料和指导。

2. 擦除WORK_FLASH的时候,根据传入的地址计算出的Sector可能与实际的Sector不匹配,导致只能擦除部分区域。建议您确认GetSector函数的实现是否正确,并检查传入的地址是否正确。

另外,也请确保芯片的Write Protection位没有被设置,否则可能会禁止擦除和写入操作。您可以查阅芯片的官方文档或联系芯片厂商获取相关信息和帮助。
举报

更多回帖

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