imx rt 1024 using second flash module on flexspi B

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

imx rt 1024 using second flash module on flexspi B

跳至解决方案
2,582 次查看
bp1979
Senior Contributor I

Dear NXP,

I am following up on a pretty old question of myself:

https://community.nxp.com/t5/i-MX-RT/imx-rt-1021-custom-board-use-flash-on-FlexSPI-B/td-p/1495752

I got caught up in other priorities and didn't really have time to give this topic enough attention. But, we're back on that topic now, and we are still kind of in the same situation. I have a hard time figuring out how to proceed.

The goal: use a secondary flash as "eeprom", so that we don't have to bother with running code in ITC sram.

Background: Currently we are running code in ITC sram in order to use a part of flash as eeprom. It's rather cumbersome, because we also compile our app with "position independent code" compiler flag (in order to run the app in two different locations on flash). Position independent combined with dealing with code running in ITC sram complicates things a bit, I'll spare the details, but, that's the reason we prefer to move aware from the necessity of running code in ITC sram.

As I glanced at this topic (using secondary flash) before, and was a bit lost in space immediately, I was hoping for some extra guidance from NXP support.

Let's say :

- we have a custom PCB, and a secondary flash is properly wired up to FlexSPI B.

- I can run SDK examples without a problem on our board.

Could you somewhat guide me through the process? Is there an SDK example that :

- will run from the 1024 internal flash, AND

- do ANYHTING (read/write/erase) on our flash wired up to FlexSPI B?

 

If you could provide me an SDK example that meets those requirements, then I have a working starting point, which makes it a whole lot easier to try stuff and start to learn. Now, when I am trying to reverse engineer the nor_flash SDK examples, I mostly get lost in stuff I know close to nothing about.

Many thanks in advance !

0 项奖励
回复
1 解答
2,481 次查看
PabloAvalos
NXP TechSupport
NXP TechSupport

Dear @bp1979 

 

Hope you are doing fine and thanks a lot for your patience on this community thread.

 

I found a couple of threads on our community that might be of your interest because they are pretty related and very well explained. Please take a look on them and let me know if you have some more questions about it.

Thread 1: 

https://community.nxp.com/t5/i-MX-RT/Using-2nd-flexSPI-not-boot-device-to-store-NVM-data/m-p/1284876

Thread 2:

https://community.nxp.com/t5/i-MX-RT/FlexSPI-boot-and-XIP-operation-in-Parallel-flash-mode-100-Pin/m...

 

I will stay tuned to your feedback if they were helpful. Also if it is not what you were looking for, on google I suggest you to type "victorjimenez flexspi nxp community" and take a view in all the threads that exist, because they are all related to this one.

 

Best Regards.
Pablo Avalos.

在原帖中查看解决方案

0 项奖励
回复
8 回复数
2,548 次查看
bp1979
Senior Contributor I

@PabloAvalosI don't see how I am targetting the flash connected to SPI B. Where can I see this example interacts with the FlexSPI B instead of the internal flash of the 1024 (connected to FlexSPI A?

0 项奖励
回复
2,545 次查看
bp1979
Senior Contributor I

@PabloAvalosI don't think you understand my question.

- I want to EXECUTE from RT1204's internal flash (FlexSPI port A1).

- I want to read/write/erase from/to EXTERNAL flash (FlexSPI port B1).

- Eventually, I do NOT want to EXECUTE code from RAM (but for this SDK example it's fine if that's still the case)

I tried to modify the SDK example by simply replacing kFLEXSPI_PortA1 with kFLEXSPI_PortB1.

When I then rerun the SDK example, it faults (IBUSERR) on configuring the eDMA.

bp1979_0-1674813166080.png

 

Hope you can help me out in this quest

 

Additional info:

- this flash is connected to FlexSPI B: https://www.issi.com/WW/pdf/25LP032-64A-B.pdf

- I mux the pin for FlexSPI port B1: FlexSPI_B_DQS to GPIO_SD_B0_05. This is the only pin which seems to be muxed for FlexSPI port A. So I assume the rest will be OK by default.

- I wonder if the DMA transfer SDK examples adds anything at all over the nor polling SDK example. I tried the nor polling SDK example as well, but it fails on configuring the flash.

标记 (1)
0 项奖励
回复
2,499 次查看
bp1979
Senior Contributor I

@PabloAvalosany chance you can help me on this or any advice how to get support here? thx a lot for anything you can do

0 项奖励
回复
2,482 次查看
PabloAvalos
NXP TechSupport
NXP TechSupport

Dear @bp1979 

 

Hope you are doing fine and thanks a lot for your patience on this community thread.

 

I found a couple of threads on our community that might be of your interest because they are pretty related and very well explained. Please take a look on them and let me know if you have some more questions about it.

Thread 1: 

https://community.nxp.com/t5/i-MX-RT/Using-2nd-flexSPI-not-boot-device-to-store-NVM-data/m-p/1284876

Thread 2:

https://community.nxp.com/t5/i-MX-RT/FlexSPI-boot-and-XIP-operation-in-Parallel-flash-mode-100-Pin/m...

 

I will stay tuned to your feedback if they were helpful. Also if it is not what you were looking for, on google I suggest you to type "victorjimenez flexspi nxp community" and take a view in all the threads that exist, because they are all related to this one.

 

Best Regards.
Pablo Avalos.

0 项奖励
回复
2,475 次查看
bp1979
Senior Contributor I

@PabloAvalosThanks a lot, useful links. Problem is not solved, but reading back my initial post and the comment which was given back in the day regarding the schematics start to make a lot more sense now!!

I think we have an issue with the FlexSPI A dsq pin. We also use that very same pin as CS for FlexSPI B. We think that this is the problem. I'll open a new ticket, to investigate if there is a solution possible without having to adjust hardware....

1,769 次查看
rexrothppc
Contributor II
Hi, did you find solution for using external flexspi eeprom? I have the same problem with external flexspi quad ram, I will appreciate for help...
0 项奖励
回复
2,560 次查看
PabloAvalos
NXP TechSupport
NXP TechSupport

Dear @bp1979 

 

Base on what you said, and as following up from your previous thread, as your secondary flash hardware from FlexSPI B is now working, you may follow the example for RT1024 (flexspi_nor_edma_transfer) to write, erase and read from that external flash as shown here:

PabloAvalos_1-1674755491809.png

 

Then, if you are using MCUXpresso and you program your RT1024 with the LPC-Link2 or USB, via CMSIS-DAP (that it is the default debug method), you will be able to flash on the internal memory and debug to see registers, values, etc.

 

Hope this information helps you, please let me know if you still have more questions. I am happy to assist you.

 

Best Regards.
Pablo Avalos. 

0 项奖励
回复
1,725 次查看
rexrothppc
Contributor II

wrong answer

0 项奖励
回复