Read & write data to qspi

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Read & write data to qspi

3,124 Views
venugopal_v
Contributor III

In one of the project i am using imxrt1050 mcu with qspi flash. i need to store some configuration data in to qspi  runtime ,i can see sdk example that use RAM  to do this but how can i do with flash?if any example or guide please provide

i have referred to A way to create a binary that is copied to RAM from the ROM bootloader in RT1050  i tried adding  flash api in to this  ,normal code works but coping data has some fault

Labels (1)
0 Kudos
8 Replies

2,954 Views
venugopal_v
Contributor III

hello, i had requirement to store data as well program in same QSPI flash with  imx rt 1050 i followed method that is through linker scrips to relocate  all flexspi code to ITC ram  . hope this would help

Dropbox - BEL2_flexspi_nor_polling_transfer.7z - Simplify your life 

1,996 Views
yvkrkrishna
Contributor II

Hi sir,

I have used code shared by you. And i am able to write and read back code from flash memory.

I have integrated this code with my application code which consists of lwip code, App wizard GUI Code. 

When i am testing the integrated code with my application, following observed:

a. Flash operation cycle (Cycle means Flash Erase,Write,Read back data) executing intermittently i.e.(sometimes worked around 200 cycles i.e. 30 minutes, sometimes failed after 50 cycles).

b. While testing integrated code, errors are coming in flash_page_program() function,
sometimes on flash_init() function, sometimes continuously showing the error
"Bus Stalled/Executing Operation normally" Error is showing.

My application Memory Sequence follows as:

<memory can_program="true" id="Flash" is_ro="true" size="0" type="Flash"/>
<memory id="RAM" size="512" type="RAM"/>
<memoryInstance derived_from="Flash" driver="MIMXRT1050_SFDP_QSPI.cfx" id="BOARD_FLASH" location="0x60000000" size="0x4000000"/>
<memoryInstance derived_from="RAM" id="BOARD_SDRAM" location="0x80000000" size="0x1e00000"/>
<memoryInstance derived_from="RAM" id="NCACHE_REGION" location="0x81e00000" size="0x200000"/>
<memoryInstance derived_from="RAM" id="SRAM_DTC" location="0x20000000" size="0x20000"/>
<memoryInstance derived_from="RAM" id="SRAM_ITC" location="0x0" size="0x20000"/>
<memoryInstance derived_from="RAM" id="SRAM_OC" location="0x20200000" size="0x40000"/>
 
My Requirement:
--------------------------------------------------
Application is having lwip code to receive the UDP packet from external system through Ethernet application, and Appwizard code to display the GUI & update the values received from the UDP packet to GUI parameters.
 
 

Please clarify the following:

1. What is linker script and how it will work?

2. How to resolve the my issue.

 

Please find the attachments of integrated code & independent flash code.

Mobile: 9620620953

0 Kudos

1,950 Views
yvkrkrishna
Contributor II

Hi all,

Can anyone suggest or guide to resolve the issue ASAP.

 

Thank you

Krishna

9620620953

0 Kudos

2,954 Views
FelipeGarcia
NXP Employee
NXP Employee

Hello Venu,

 

If you need to store data to flash, and run code simultaneously you will require Read While Write(RWW) feature.

 

There are two solutions to implement RWW on i.MX RT Series, one is to choose the flash supported RWW feature; the other is to use multiple flash to implement this function. I recommend you to check the Implement RWW on i.MX RT Series application note where you will find a detailed description about how to implement this.

 

Hope it helps!

Best regards,

Felipe

-------------------------------------------------------------------------------

Note:

- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored.

- Please open a new thread and refer to the closed one, if you have a related question at a later point in time.

------------------------------------------------------------------------------ 

0 Kudos

2,955 Views
venugopal_v
Contributor III

Also have one board with S25FL064LABBHI020 , does two of this  support the RWW? 

also provide one example code for the same

0 Kudos

2,955 Views
FelipeGarcia
NXP Employee
NXP Employee

You should contact your memory supplier to see if RWW feature is supported. For software mentioned in AN please refer to this link. https://www.nxp.com/docs/en/application-note-software/AN12564SW.zip

 

Regards,

Felipe

0 Kudos

2,955 Views
venugopal_v
Contributor III

helloFelipe García,

my project is in final stage i am already using IS25LP01G-RILE  . Does this has the RWW functionality

0 Kudos

2,884 Views
EdSutter
Senior Contributor II

Hi,

I updated a board to use a IS25LP01G-RILE as the boot device ( I was using smaller IS25LP064).  I'm having trouble booting from this part, so I'm curious if you are using the IS25LP01G-RILE as your boot device?

Thanks,

Ed

0 Kudos