Part Number:IWR1443Other Parts Discussed in Thread:UNIFLASH
想问一下1443在保存flash的时候是不是也是按扇区擦写的,在保存数据的时候先把整个扇区擦掉后写入。
因为现在程序在flash内存了两个结构体,在保存一个结构体后,另一个结构体的数据就会消失。
想问一下有没有什么资料可以参考的。
Shine:
请问您是用uniflash工具烧写的吗?
,
Mu Yifei:
不是 就是在程序里使用Save_Data2Flash();这个函数把数据保存到flash里。
,
Mu Yifei:
void Save_Data2Flash(uint8_t *const srcDataAddr, uint16_t DataLen, uint32_t flashAddrOffset)
{
uint32_t flashAddr = 0U;
flashAddr = QSPIFlash_getExtFlashAddr(qspiflashHandle);
flashAddr = flashAddr + flashAddrOffset;QSPIFlash_sectorErase(qspiflashHandle, flashAddr); // The size of one sector is 4k byte
QSPIFlash_singleWrite(qspiflashHandle, flashAddr, DataLen, (uint8_t *)srcDataAddr);// //System_printf ("MCU have saved last echo data. %d\n",DataLen);
}
,
Shine:
这是您自己写的flash烧写代码吗?您可以看一下您外接spi flash数据手册里的烧写命令是否按扇区烧写的?