i.MX6UL QuadSPI Flash Memory Map

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

i.MX6UL QuadSPI Flash Memory Map

Jump to solution
694 Views
j_araya
Contributor II

Dear Community,

I would like to ask whether the U-Boot must reside in a specific address of the flash memory, so that it can be found by the Primary Program Loader, which is hard-coded in the processor's ROM?

I found in the i.MX Linux® User's Guide that U-Boot starts at 0x60000000, but I didn't find whether this value is actually hard-coded in the processor's ROM or whether it can be customized.

pastedImage_2.png

My motivation to this question is that we need to allocate space in the same flash device for the Spartan7 FPGA of our system. As far as I know the FPGA can address the flash to get its bitstream from any location, my question is whether the i.MX6UL can do something similar with the U-Boot?

Thanks!

Jose

Labels (1)
1 Solution
571 Views
art
NXP Employee
NXP Employee

0x60000000 is the starting address of the QSPI1 memory range, please refer to the Table 2-1 "System memory map" of the i.MX6UL Reference Manual document:

https://www.nxp.com/webapp/Download?colCode=IMX6ULRM

So, this address is built into the i.MX6UL hardware and cannot be customized.


Have a great day,
Artur

-------------------------------------------------------------------------------
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.
-------------------------------------------------------------------------------

View solution in original post

2 Replies
571 Views
j_araya
Contributor II

art

Thanks for answareing! Now I got the relation between the 0x60000000 address in the system memory map and the 0x1000 offset within the Flash itself to locate the IVT. This location is hard-coded in the boot ROM of the i.MX6UL processor.

For reference I paste here the fixed location of the IVT for some boot devices:

 

pastedImage_1.png

Taken from https://www.nxp.com/webapp/Download?colCode=IMX6ULRM as well.

Thanks again,

Jose

0 Kudos
572 Views
art
NXP Employee
NXP Employee

0x60000000 is the starting address of the QSPI1 memory range, please refer to the Table 2-1 "System memory map" of the i.MX6UL Reference Manual document:

https://www.nxp.com/webapp/Download?colCode=IMX6ULRM

So, this address is built into the i.MX6UL hardware and cannot be customized.


Have a great day,
Artur

-------------------------------------------------------------------------------
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.
-------------------------------------------------------------------------------