IMXRT1064 HyperFlash via FlexSPI

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

IMXRT1064 HyperFlash via FlexSPI

848 Views
Lukas_Frank
Senior Contributor I

Hi Dear Authorized,

I am trying to validate my software for HyperFlash operations for my custom board. Firstly, I realized tests with EVK. During test on EVK with HyperFlash I achieve successful read/write operations except one case.

I am trying to write  0x00, 0x98 to the memory address. But when I check it in memory it is differentiate. As you can see below example (default hyperflash sdk example):

HyperFlash_EVK.png

  • My first question is about what is the role of flexspi_nor_hyperbus_write_cfi function ?
  • My second question is about my Custom Board. My HyperFlash running at 100MHz and I am using same sdk example which I use on EVK. The only difference between them is running frequency. Therefore I set up frequency like below. But the things that makes me suspicious is that hyperflash_config struct is not used anywhere in the code. How can I sure about the correct frequency is setted up?

HyperFlash_CustomBoard.png

Thanks and Regards.

0 Kudos
Reply
4 Replies

828 Views
Lukas_Frank
Senior Contributor I

Dear @Omar_Anguiano ,

 

Could you please help me about the issue ?

 

Thanks and Regards.

0 Kudos
Reply

776 Views
Gavin_Jia
NXP TechSupport
NXP TechSupport

Hi @Lukas_Frank ,

Hope you are doing well!

About the 0x00 0x98, it is CFI Entry command and Exit command. These commands are specified by the Flash manufacturer, and you can consult this source. https://www.cypress.com/file/213346/download

Gavin_Jia_0-1701418114221.png

 

In additional, hyperflash_config struct is only Flash Configuration Block. This demo should run in the RAM, if you want to modify the clock frequency, you should consult the clock tree and assign the frequency in the app code.

 

Best regards,

Gavin

0 Kudos
Reply

768 Views
Lukas_Frank
Senior Contributor I

Hi Dear @Gavin_Jia ,

 

Thank you for the first reply. I understand why it is not writing to the memory 0x00 and 0x98. But I still don't why it is writing to memory 0x06000600 to the HyperFlash address 0x60000AAA. Could you please explain shortly?

 

Additionally, did you express Config Tools > Clocks Diagram > FlexSPI clock ?

Clock_Settings.png

 

Thanks and Regards.

 

0 Kudos
Reply

727 Views
Gavin_Jia
NXP TechSupport
NXP TechSupport

Hi @Lukas_Frank ,

Hope you are doing well!

0x60000000 is a mapped address, which is a specified address range for accessing the contents of the HyperFlash memory. During runtime, the actual program code may have been loaded into this address range, but at runtime you usually cannot directly view or modify the contents of this address range because these areas are most likely set to read-only or can only be modified by specific hardware.
Therefore, it is not correct for you to view the contents of this address. 

For the clock modification, you are correct.

 

Best regards,

Gavin

0 Kudos
Reply