FlexSPI read flash by AHB and IP commands

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

FlexSPI read flash by AHB and IP commands

Jump to solution
2,048 Views
armandc_
Contributor III

Hello,

We are using the i.MX RT1060 with a NOR flash. The flash is read by AHB commands by the processor to fetch instructions (XIP) and we have a driver which also reads data from the flash at boot time but by IP commands.

Using a mix of AHB access and IP command to read the flash seems to be the source of problems when booting the system. I've read the reference manual and didn't find indication that this cannot be done. Did I miss something?

In the reference manual in chapter 27.5.11 Command Arbitration page 1665 it is written "AHB read command could be aborted by any new IP command or AHB command request when it's prefetching data (not for current read burst)."

What happens when such an abort happens ?

Thanks for your help.

Labels (1)
0 Kudos
1 Solution
1,894 Views
armandc_
Contributor III

Hello Felipe,

If I understand correctly this is the cause of my problem, IP command request are not granted if the bus is not idle because of an AHB read command fetching instructions. Is this correct?

I solved the problem by reading the flash only by AHB command, is it 100% safe like this?

Thanks,

Armand

View solution in original post

0 Kudos
3 Replies
1,894 Views
FelipeGarcia
NXP Employee
NXP Employee

Hello Armand,

 

I believe your question is answered below the section you mentioned in reference manual. Please check description below.

 

All command request are not granted if Arbitrator is busy in executing AHB/IP command (not suspended command), and there will AHB/IP Command granted error if the grant is timeout.

If new AHB/IP command request comes while Arbitrator is executing AHB read prefetch sequence, AHB read prefetch sequence will be aborted (but not immediately). Arbitrator will grant AHB/IP command request after AHB read prefetch sequence is aborted on FlexSPI interface and saved all internal data pointers.

Hope it helps!

 

Have a great day,

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
1,895 Views
armandc_
Contributor III

Hello Felipe,

If I understand correctly this is the cause of my problem, IP command request are not granted if the bus is not idle because of an AHB read command fetching instructions. Is this correct?

I solved the problem by reading the flash only by AHB command, is it 100% safe like this?

Thanks,

Armand

0 Kudos
1,894 Views
FelipeGarcia
NXP Employee
NXP Employee

Yes, that is correct.  I am glad to hear that you solved it, I do not see any issue with reading flash using AHB command.

 

Regards,

Felipe