FlexSPI Controller

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

FlexSPI Controller

564 Views
saranbabu
Contributor II

Hello team,

We are started to design the bootloader for imxrt1064, in this we allocated 512KB of size for custom bootloader(0x70000000 to 0x70080000). By using the ROM API we planned to access the internal flash for write the firmware image.  There is external NAND flash memory is connected with the Flexspi_A controller port A1. We ported file system with the NAND flash using Quadros OS, before the OS initialization, ROM AP1's are working fine, but after the OS got initialized, ROM APIs are not working, please let me know the reason behind this. At the same time I referred the SDK flexspi_nor_internal_polling_transfer source code, I tried to use this same code for access the NOR flash memory, but unfortunately I'm not able to intialize the flash memory(FlexSPI2), please let me know the reason behind this.

1) What is the other way to access the NOR flash memory(internal flash memory)?
2) Is there any other problem is causing due to both the memories are accessing flash port A1?
3) Does this operating system is disturbing the ROM bootloader location(0x0020001C)?

Thank you

0 Kudos
3 Replies

557 Views
diego_charles
NXP TechSupport
NXP TechSupport

 

Hi @saranbabu 

I hope you are doing great!

I got some points to check my understanding:

  • You are intending to use both NOR and NAND memories : NAND will be used for file system (on FlexSPI1 ) and internal NOR one will be used for hold new firmware (on FlexSPI2)
  • NOR will be the  4MB NOR SIP flash in the RT1064 package.

#1: after the OS got initialized, ROM APIs are not working 

   Probably, the OS interruption (Systick interrrupt in most cases) is causing troubles when doing write operations. Please try to disable interrupts when using ROM API and test. Also if you could provide an screenshot of the problem could be helpful.

#2:I referred the SDK flexspi_nor_internal_polling_transfer source code, I tried to use this same code for access the NOR flash memory.

  Ok, I double checked latest SDK 2.12.1 and  the demo comes for  FlexSPI2 interface on RT1064.

#3) What is the other way to access the NOR flash memory(internal flash memory)?

       To write  NOR flash from application , there are only  two ways,  that you already tested : ROM API and FlexSPI demos.

#4) Is there any other problem is causing due to both the memories are accessing flash port A1?

    Here is where I want to check my understanding, the internal 4MB flash memory can only be connected to FlexSPI2. In other words you can not connect another memory to FlexSPI2. You only have FlexSPI port available for external memories.

#5 Does this operating system is disturbing the ROM bootloader location(0x0020001

    As mentioned in @#1, we need to first take care of disabling interrupts. Also,  you need to leave 64KB of OCRAM for ROM operation. 

All the best,

Diego

Tags (1)
0 Kudos

542 Views
saranbabu
Contributor II

Hello NXP Team,

Thanks for your input, I just disabled the interrupt before perform the ROM operation, now it is working fine.

536 Views
diego_charles
NXP TechSupport
NXP TechSupport

Hi @saranbabu 

Great, thanks for letting us know

Diego

0 Kudos