ZHCAEX1 January 2025 MSPM0G1518 , MSPM0G1519 , MSPM0G3518 , MSPM0G3519 , MSPM0L1227 , MSPM0L1228 , MSPM0L2227 , MSPM0L2228
DATA 存储体的擦除和写入操作与 MAIN 区域的操作相同,可以从闪存调用。擦除操作可以在设定的粒度或存储体粒度上进行。这些功能使 DATA 存储体成为数据记录方面的优秀解决方案。有关更详细的说明,请参阅器件技术参考手册。以下示例展示了如何使用 DATA 存储体。
/* Address in DATA memory to write to */
#define DATA_BASE_ADDRESS (0x41D00000)
bool status = false;
uint8_t gData8 = 0x11;
DL_FlashCTL_unprotectSector(
FLASHCTL, DATA_BASE_ADDRESS, DL_FLASHCTL_REGION_SELECT_MAIN);
DL_FlashCTL_eraseMemory(
FLASHCTL, DATA_BASE_ADDRESS, DL_FLASHCTL_COMMAND_SIZE_SECTOR);
status = DL_FlashCTL_waitForCmdDone(FLASHCTL);
while(status == false){};
DL_FlashCTL_unprotectSector(
FLASHCTL, DATA_BASE_ADDRESS, DL_FLASHCTL_REGION_SELECT_MAIN);
DL_FlashCTL_programMemory8WithECCGenerated(
FLASHCTL, DATA_BASE_ADDRESS, &gData8);