ZHCAEX1 January   2025 MSPM0G1518 , MSPM0G1519 , MSPM0G3518 , MSPM0G3519 , MSPM0L1227 , MSPM0L1228 , MSPM0L2227 , MSPM0L2228

 

  1.   1
  2.   摘要
  3.   商标
  4. 1非易失性存储器 (NVM) 基本介绍
    1. 1.1 闪存保护
  5. 2客户安全代码 (CSC) 简介
    1. 2.1 客户安全代码 (CSC) 执行概述
    2. 2.2 CSC 内存映射
    3. 2.3 客户安全代码 (CSC) 执行程序
  6. 3存储体交换示例实现
    1. 3.1 客户安全代码项目准备
      1. 3.1.1 在 NONMAIN 中启用客户安全代码 (CSC)
      2. 3.1.2 客户安全代码应用代码的实现:存储提及交换功能
    2. 3.2 应用代码项目准备
  7. 4常见用例介绍
  8. 5DATA 存储体简介
    1. 5.1 数据存储体保护
    2. 5.2 DATA 存储体擦除写入操作
  9. 6总结
  10. 7参考资料

DATA 存储体擦除写入操作

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);