Can someone tell me if it is possible to use the SDRAM and the NAND Flash simultaneously on the EVK IMXRT1176 as below:
I tried to do that on the SDK project "evkmimxrt1170_nand_flash_management_cm7" by moving heap to SDRAM but Nand Flash read operation crash when trying to malloc memory (SDK_Malloc).
I Hope you are well.
It is possible to have multiple memories in your application but they need to accessed at different times. You cannot use SDRAM while NAND is being used.
Additionally, if SDRAM is used to execute code it is important to make sure that NAND is not used while the code is being executed.
If you have more questions do not hesitate to ask me.
Hello @Omar_Anguiano ,
Thanks for your reply. Well i just inhibited the semc_init function and it works fine.
My application is executed on Qspi Flash with XIP and SDRAM is used to place heap as mentioned in the main question.
Well i'm facing another problem that is easy to reproduce :
Placing Stack and global data on SDRAM are making troubles. (However placing only heap on sdram works as charm).
Here is the steps to reproduce the problem:
As i mentioned below adding only heap to sdram works for me.
Thank you for your additional information.
To place these sections on SDRAM it is needed to make sure that SDRAM is enabled at first, you can do this with DCD. Also, it is needed to disable the cache: heap and the stack on the SDRAM on MIMXRT1064 Eval... - NXP Community
Checking this it seems that when using the NAND in the SEMC SDRAM enters a conflict. When you try to add stack and heap to SDRAM to a project which do not uses SEMC is the issue still present?
Please add a higher priority to the SDRAM access through the BMCRx registers.
This is used to balance external memory access efficiency, urgency, and latency based on your requirements.
Thank you for you reply,
Can you please give more informations about how to give the SDRAM higher priority.
Actually my BMCRx (0 and 1) registers are configured with 0x81 value.
I don't see how to set a Queue A or B priority in function of the support access (SDRAM, NAND Flash or other).
There's just the Score of the Queue that gives more or less priority to the operations but that don't depend on the access area am i right?