在查看 S32DS 中 S32K 闪存分区的示例代码时,我发现生成的配置文件 (peripherals_flash_FTFC.c) 存在问题。
闪存配置生成如下:
/* 闪存用户配置 0 */
const flash_user_config_t Flash_InitConfig0 =
{
.PFlashBase = 0x0U,
.PFlashSize = 0x80000U,
.DFlashBase = 0x10000000U,
.EERAMBase = 0x14000000U,
.CallBack = NULL
};
在这里,CallBack 被分配了一个等价于 NULL => (((void *)0) 的值
在文件 flash_driver.c 中,为了检查我们是否定义了回调,比较是用
空回调。
if (NULL_CALLBACK != pSSDConfig->CallBack)
{
(pSSDConfig->CallBack)();
}
从 RAM 执行此示例后,我的代码出现故障。当我进行必要的更正时,它似乎工作正常。
我相信它应该是 NULL 或 NULL_CALLBACK,但在任何地方都应该使用相同的。
有什么我遗漏的东西或者这里有真正的问题吗?