Hi,
I am using Design Studio 3.5 with RTD S32K396 3.0.0 and I am trying to send a 2 bytes WriteRegister instruction. I have configured this instruction in the MemInitConfiguration section from Mem_43_ExFls/MemDevice/MemSerialFlashCfg. I am trying to send it via a QSPI_IP_OP_TYPE_RMW_REG operation. Please find attached an image of the LUT and WRITE_REG operation (QSPI_IP_OP_TYPE_WRITE_REG.png).
I need this WriteRegiter instruction in order to set the Configuration Register of a QUAD SPI S25FL128 FLASH chip. At first, I have successfully adapted the Mem_43_ExFls_Example_S32K396 example project to my S25FL128 chip and I got to send this instruction correctly (I have checked it with a Logic Analyzer). In order to adapt this project, I have:
1) removed the Mem_ExFls_PinSetup function and replaced it with the generated code from the Port component
2) replaced the MemHyperFlashCfg with my MemSerialFlashCfg configuration.
I have left the clock initialization to be performed with sys_init().
However, when I tried to integrate the same Serial Flash and QSPI_IP_OP_TYPE_RMW_REG configurations into a new project (which uses the generated code for initializing the clocks and contains some additional modules such as Platform, SPI, CAN, etc.), it ends up sending completely different values than the ones set in the "Bit-field value" field. I have attached a comparison between what shows up on the Logic Analyzer for the modified project and for the new one (Logic_Analyzer_Data.png). The other QSPI instructions (write Enable 0x06, Read Status Register 0x05, Read Configuration Register 0x35) seem to be sent correctly.
Is there anything I need to configure in order to send the two bytes WriteRegister instruction correctly?
Thank you in advance,
Beatrice