工具/软件:
尊敬的团队:
我在地址"0x0001F000"执行闪存读取、如下所示。 写入操作成功、我可以在存储器窗口中看到预期数据。
编写 API 的代码片段、
DL_FlashCTL_executeClearStatus (FLASHCTL);
DL_FlashCTL_unprotectSector (FLASHCTL、ADDRESS、DL_FLASHCTL_REGION_SELECT_MAIN);
/*擦除 MAIN 存储器中的扇区*/
gCmdStatus = DL_FlashCTL_eraseMemoryFromRAM (FLASHCTL、address、DL_FLASHCTL_command_size_one_word);
//通过清除 STATCMD 确保正确执行闪存命令
*在执行闪存操作前注册*/
DL_FlashCTL_executeClearStatus (FLASHCTL);
/*在没有 ECC 的情况下向 MAIN 存储器中的闪存进行8位写入*/
gCmdStatus = DL_FlashCTL_programMemoryFromRAM (FLASHCTL、address、(uint32_t *) DATA、dataSize、DL_FLASHCTL_REGION_SELECT_MAIN);
if (gCmdStatus == DL_FLASHCTL_COMMAND_STATUS_PASSIVE)
{
retval = true;
}
但是、当我在下一个周期中使用 memcopy/Pointer 执行闪存读取操作时、软件不再运行。 我是否需要执行一些特定步骤?
读取 API 的代码片段、
uint32_t *EolDataRead =(uint32_t *) 0x0001F000;
uint32_t HuberEolDataReadRam = 0;
HuberEolDataReadRam =*HuberEolDataRead;
此致、
Halappa