Hello,
I know this same question is found at several instances, but none seem to match my case:
My application is running in XIP mode (iMXRT1170) in an external Quad NOR flash. However, using littleFS, i want to use a portion (say the upper blocks) of this flash to be handled by LittleFS. As such is it working correctly ... but i noticed that all the "final" fsl_flash_..." functions are using Blocking Transfer (of course, all of those functions are relocated to internal RAM so they can access the flash "from the outside".
Now i am trying to use eDMA transfer instead of blocking transfer, to solve my RT issues. I inspired from the SDK example "mimxrt1170evkb" which works perfectly, but runs out of SDRAM of RAM.
Despite all my efforts, I am not able to do it reliable, i mean that it would sometiomes works for 1 or 2 page writes, but then gives random hardfaults, etc ... my gut feeling says that this is linked to the fact my app runs XIP (although the flash routines are not), cache issues, etc ...
Can anyboby point me to some designe rules, code examples, etc ... for doing this ? Of course, i would like to use eDMA in full, which is not polling on the dmaDone flag, but really getting an interrupt, so i can alleviate the R/T at most
Thanks,
Jacques