初级会员

- 积分
- 147
- 金钱
- 147
- 注册时间
- 2018-7-8
- 在线时间
- 26 小时
|
1金钱
读写内部flash遇到了问题 那个大神知道解决下!
1、内部flash是怎么存储的 低位在前?
2、我读校验一直不对!
发送的字节
发送的字节
把一个数组强制转换为u32写到内部flash中
void TestInternalFlash(u8 data[20])
{
u8 i;
int j=0;
for(i=0;i<20;i++)
{
FlashData = (u32)data;
}
j = WriteInternalFlash(FlashData,0x08008000,20);
printf("??????%d??а?",j);
ReadInternalFlash(flashdata1,0x08008000,20);
ReadInternalFlash1(flashdata2,0x08008000,20);
}
u32读取的
u32字节读取的
u16读取的
u16字节读取的
u8读取的
u8字节读取的
最后校验的代码
typedef enum { FAILED = 0, PASSED = !FAILED} TestStatus;
Address = WriteStart_Addr;
while((Address < (WriteStart_Addr+len*4)) && (MemoryProgramStatus != FAILED))
{
if((*(__IO uint32_t*) Address) != *data)
{
MemoryProgramStatus = FAILED;
}
Address += 4;
data++;
}
return MemoryProgramStatus;
}
//////
|
|