QSPI serial memory with iMXRT1064

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

QSPI serial memory with iMXRT1064

2,399 Views
anujtanksali
Contributor II

Hello,

I am using iMXRT1064 and QSPI serial memory IS25LP128 from ISSI. 

I am using Emwin for my application and plan to store the fonts and images in QSPI serial memory.

Will the memory be memory mapped and i can directly access font or images data from internal memory using emwin API's once i store the binary data information in the QSPI external memory. 

If this is not possible is there any other way?

Thanks

Regards,

Anuj

Labels (1)
Tags (1)
0 Kudos
Reply
5 Replies

2,278 Views
Masmiseim
Senior Contributor I

Hello Anuj,

 

it depends on which interface you have used to connect the QSPI-Flash.

The LPSPI Interface can not be memory-mapped. The flexSPI can be memory mapped.

 

Best regards

0 Kudos
Reply

2,278 Views
anujtanksali
Contributor II

Hello markusklein‌,

I will be using flexspi for the QSPI memory. 

I will have to map the image files to that corresponding memory first at compile time then copy the image or font binary data to QSPI memory using some other mechanism such as through serial. Is my understanding correct?

Another question is if it is memory mapped can the emwin api bmp and font functions easily access the data directly from QSPI memory through flexspi?

Or will i have to copy that data in RAM or SDRAM first?

Thanks

Regards

Anuj

0 Kudos
Reply

2,278 Views
Masmiseim
Senior Contributor I

Hello Anuj,

 

you are using the internal QuadSPI Flash of the 1064 to run your code and the external Flash for Data, correct?

This means your code is memory mapped at address 0x70000000 and the data is mapped to 0x60000000. You can directly access this memory like any other memory location.

Which development environment are you using? In general, when you download your application to the device the following is happening:

The IDE is loading a small application to the internal memory of the iMXRT – this is called the Loader. This Loader is

  • initializing the flexSPI interface
  • communicate to the IDE via a memory mapped protocol to get the Data to write
  • write it to the flash.

Many development Environment are capable of flashing extra binary blobs together with the application. So, when your IDE can do this, and your Loader is capable of accessing both flexSPI interfaces simultaneously, this would be the best way to get your data to your board.

I’ve developed an Loader for the iMXRT Family which can do this, however it is only working together with Rowley Crossworks (compare https://github.com/Masmiseim36/iMXRT).

 

Hope this helps

Best Regards

0 Kudos
Reply

2,278 Views
anujtanksali
Contributor II

Hi markusklein‌,

Yes , As the iMXRT1064 chip is packaged with Winbond W25Q32JV  internal memory we are using this for code execution and external flash memory on flexspi for images and font data.

I am using MCUXpresso IDE 11.1  version and PE micro universal debugger. Can this environment be used to flash external memory too?

If not then what is the best way to flash the external memory with data?

Thanks,

Regards

Anuj

0 Kudos
Reply

2,278 Views
Masmiseim
Senior Contributor I

Hello Anuj,

 

Sorry I have never used PE micro and very rarely MCUExpresso, so I can’t give you good answer here.

However, you can define the Data-Flash Settings in the project settings in the ‘MCU settings’ Page.

Add a new Entry with 0x60000000 as Location and choose ‘MIMXRT1060_SFDP_QSPI.cfx’ as driver. This should be the correct Loader for the QuadSPI Flash.

 

There seems not to be an easy solution for adding extra binary files: https://community.nxp.com/thread/434387

 

Maybe others have a better solution. You could also try the PE micro tools to access the external flash.

 

Hope that could help

 

Best Regards

0 Kudos
Reply