NXP MCU 技术论坛
直播中

吴湛

9年用户 800经验值
擅长:417804
私信 关注
[问答]

S32K324重置失败和缓存问题如何处理?

最近在用S32K324开发ECU时遇到了两个问题。

1. 在用PEmicro和S32DS调试软件时,通过上位机(CAN协议)发送报文复位程序。无论我使用哪种复位方法(API mcu_performreset() 或 watchdog timeout),在第九次复位时,程序总是死在一个 ram 固定地址(这个地址可以找到,实际上变量存在于那里)。即使我在启动函数处标记了一个断点,程序也无法停止。为什么会出现这个问题?当芯片不在debug模式时,没有这个问题。

2. 重新烧写flash地址后,我想计算烧写数据的crc值,看看是否写对了。但是,当我启用缓存功能时,每次读取数据的全局变量都不是最新的,实际上我什至不知道变量是如何改变的,因为数据与闪存中的数据不相同,也不与闪存中的数据相同最后的数据。使 CRC 值与主机上的值不匹配。最后我尝试使用 API  sys_m7_cache_clean() 在读取闪存数据之前清理缓存数据,在这种情况下,可以更新变量并且也通过了 crc 校验。  我想知道:如果我在我的应用程序代码中使用 api sys_m7_cache_clean() 是否有任何风险?为什么数据写入后不能立即读取?


回帖(1)

更多回帖

发帖
×
20
完善资料,
赚取积分