工具/软件:TI-RTOS
如果我将 sectorbytes 定义并初始化为:
uint8_t sectorbytes[4096]={0};
然后、在 buttonpresshandler 函数中、我具有以下代码:
交换机(pState->pinId)
{
案例 Board_BUTTON0:
如果(pState->state)//每按一次按钮只能执行一次
{
if (OADTarget_open())
{
OADTarget_eraseFlash (1);
OADTarget_readFlash (1、0、sectorbytes、4096);
}
OADTarget_Close();
Log_Info1 ("%s"、(IArg")"擦除和读取扇区1");
}
ButtonService_SetParameter (BS_BUTTON0_ID、
sizeof (pState->state)、
pState->state (&P);
中断;
(笑声)
如果我将 sectorbytes 调整为3073或更大、当按下按钮时、sectorbytes 设置为3072 0x00、其余0xFF
如果我将 sectorbytes 调整为3072或更小、则生成的 sectorbytes 都是0xFF
我对 MX25R8035F 闪存和 OADTarget_eraseFlash 的理解是、它一次擦除一个整个4K 扇区、因此对高达4096字节的已擦除扇区的任何读取都应返回所有0xFF。
这里发生了什么情况、或者是否有更好的论坛?
谢谢、
戴尔
