部件号: AM13E23019
执行 64 位写入操作后、我们希望验证第一个编程字节是否包含正确的数据、但是在检查所述字节时、如果存储器显示数据在那里、通过读取获得的值将显示为 0xFF、不是空白。
这种情况在从 O0 到 O3 的不同优化级别下发生。 诸如易失性、数据障碍、阻塞等待等同步机制对问题没有帮助。 数据缓存有问题吗? 在 TRM 中、它指出“ 对闪存进行编程后、处理器的高速缓存逻辑中可能存在过时的数据。 在读取编程的位置之前、TI 建议首先刷新 CPU 子系统中的高速缓存。 “但是、我们确实尝试了清除缓存函数并使其失效、但它们没有解决问题。 是否有一个示例说明了在读取编程的闪存之前如何刷新缓存?
我在闪存示例代码中重新创建了一个类似的情况、该情况未通过对第一个编程字节的检查。 文中附上了该文件以及显示存储器和读取字节值彼此不匹配的屏幕截图。 
以下是文件: main.c
谢谢、祝您愉快!
Viktoriia