I have reviewed existed example Fls_Example_S32K344 from S32DS IDE, which could communicate with external NOR flash MX25L6433FM2I-08G 64Mb. I'm trying to port Nand flash from ISSI 37-38SML-SMW01G8A-02G8A-04G8A-08G8A.pdf (issi.com), its read/write protocol are split address between block/page address and byte address. For example for Read operation from Host side:
From the ISSI data sheet, each block has 64 pages, and each page has 2048 bytes data and extra 128 bytes for ECC.
I'm just wondering if it's possible to use Fls module LUT operation to split address like example above.
Hi Chen,
I read document of external memory that attached by you.
As far as I know, We need to configure 2 addresses, one for page address, one for data address in cache. So, I think we need to have 2 sequences, at least. But, in driver, a sequence to read:
step 1. write address where we want to read data from external memory.
step 2: trigger sequence that set LUTs corresponding to steps as your example.
We have only one time to set address that want to read data from if use
Fls_Write()
Fls_MainFunction()
Have this parameter:
I think can use this parameter to send Page Read sequence. then call Fls_Write(), Fls_MainFunction() to read data. But this parameter just initialized at init, you can't change page that you want to read.
Anyway, It is difficult to use this external memory, I think.
I'll contact to developer of Fls to get more idea and get back to you later.
Best regards,
Nhi
Hi Nhi_Nguyen,
Thank you!
I ended up using Qspi APIs Qspi_Ip_RunCommand and Qspi_Ip_RunReadCommand to implement the read function. I'm using S32 DS 3.4 and RTD SW version 2.0.0, build version S32K3_RTD_2_0_0_D2203_ASR_REL_4_4_REV_0000_20220331
Hi Chen,
Yeah, If you can use IPL functions, this problem can be solved.
I'm glad to hear that.
Best regards,
Nhi