调用所有 FAPI Gurus、
在异步擦除模式和只对闪存数据进行编程或自动 ECC 模式期间发现 FAPI 的奇数问题。 添加了#prama 以将优化降低到远低于应用程序的水平、但这并不能帮助解决这些问题。
FAPI 调用通过#pragma 放置在 LSRAM 中、并将 F021_API_F28004x_FPU32_EABI (.bss)复制到 LSRAM 中。 闪存首先初始化5个等待状态、4个导致非法指令异常。
擦除扇区已跳过4个扇区的中间闪存地址、FAPI 和 FSM 未报告错误。 将 代码更改为空白在擦除后检查每个扇区、时间将告诉您这是否有用。 似乎擦除模式可能需要在循环中敲入闪存、直到空白检查成功、这样在 POR 之后它不会导致无效指令异常。 只能通过使用这些扇区的擦除命令中的 F7调试 F6来擦除这两个扇区、几遍调试步骤传递函数 确实擦除了扇区。 确保使用内存浏览器检查您的闪存扇区是否实际被擦除。
在程序模式下、地址指针在首次写入64位后跳过目标指针的2个或4个地址。 这样就会在实际数据之间留下空洞(FFFF)。 测试的两种数据类型(uint16_t x4字)和(float32_t x2字)、每个数据类型具有相同的跳过行为。 尽管 uint16_t 以与 float32_t 相同的方式写入浮点数据 导致64位对齐时出现地址跳转的原因是什么? CPU 或 FPU 知道浮点变量存在、但在调试中未显示其具体情况。
地址指针第二次递增未写入数据后、再次跳过、然后 FAPI 发布异常"无效数据缓冲器长度"。 不过、FAPI 似乎确实导致了异常、而不是4个循环指针。 FAPI 应该在内部添加到起始地址指针、似乎没有这样做。 我们是否必须在每次程序写入后清除状态、该调用不会显示在程序模式流程图或示例中。