工具与软件:
您好、TI
我们正在集成新的定制闪存器件 IS25LP128F、我们测试 ospi 闪存诊断、而在执行写入读取测试时失败。
我们调试了数据、发现与我们写入的数据相比、回读的数据移动了一个字节。 我们写入的是[00、01、02、03、04、 … ]、但读回的数据为[01、02、03、04、05...]。
我们正在使用 SDK 版本 mcu_plus_sdk_am243x_09_02_01_05。
void OSPI_ReadCmdParams_init(OSPI_ReadCmdParams *rdParams) { rdParams->cmd = OSPI_CMD_INVALID_OPCODE; rdParams->cmdAddr = OSPI_CMD_INVALID_ADDR; rdParams->numAddrBytes = 3; rdParams->rxDataBuf = NULL; rdParams->rxDataLen = 0; rdParams->dummyBits = 0; }
dummyBits 已设置为0。
我们对它进行更多测试、只需写入从0到7的8个字节、然后读回。
写入周期符合预期、02为写入命令、地址为08 00 00、后跟数据0-7。
但在读取周期中、数据字段不是8、而是9、比预期多一个字节。 因此、读取的数据为[01 - 07 FFF]。
我们不知道为何在读取周期中还要执行一个字节周期、以及为什么我们只触发一条读取命令、但实际上 OSPI 控制器重复了多次、如上图所示。
我们需要帮助、期待您的回复。 非常感谢。