我将Design Studio 3.5 与 RTD S32K396 3.0.0 一起使用,我正在尝试发送一个 2 字节的 WriteRegister 指令。我在 Mem_43_ExFls/MemDevice/MemSerialFlashCfg 的 MemInitConfigura
tion 部分配置了这条指令。我正在尝试通过 QSPI_IP_OP_TYPE_RMW_REG 操作发送它。请在附件中找到 LUT 和 WRITE_REG 操作的图像 (QSPI_IP_OP_TYPE_WRITE_REG.png)。
我需要这个 WriteRegiter 指令来设置 QUAD SPI S25FL128 FLASH 芯片的配置寄存器。首先,我已经成功地将 Mem_43_ExFls_Example_S32K396 示例项目适配到我的 S25FL128 芯片,并且我必须正确发送这条指令(我已经用逻辑分析仪检查过)。为了适应这个项目,我已经:
1)删除了 Mem_ExFls_PinSetup 函数并将其替换为从端口组件生成的代码
2) 用我的 MemSerialFlashCfg 配置替换了 MemHyperFlashCfg。
我让时钟初始化由 sys_init() 执行。
然而,当我试图将相同的串行闪存和 QSPI_IP_OP_TYPE_RMW_REG 配置集成到一个新项目中时(它使用生成的代码来初始化时钟并包含一些额外的模块,如平台、SPI、CAN 等),它最终完全发送与“位字段值”字段中设置的值不同的值。我附上了修改后的项目和新项目 (Logic_Analyzer_Data.png) 在逻辑分析器上显示的内容之间的比较。其他 QSPI 指令(写入启用 0x06、读取状态寄存器 0x05、读取配置寄存器 0x35)似乎已正确发送。
为了正确发送两个字节的 WriteRegister 指令,我需要配置什么吗?