LS1021a FBSL to Uboot Transition Clarification

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

LS1021a FBSL to Uboot Transition Clarification

Jump to solution
1,311 Views
jiye
Contributor V

Hi,

I have been having this confusion for a long time and would like to throw it to here.

I know the Boot ROM will load the FSBL into the internal RAM and then FSBL will load the Uboot from boot source into DDR. 

My question is once FSBL is done (copy or load Uboot into DDR) who is in charge of executing the uboot binary?

In other words, who is initiating the uboot code to run (so as to load initramfs, dtb, kernel and linux) how does the who knows where to find the main loop in uboot to run it?

Labels (2)
1 Solution
1,208 Views
bpe
NXP Employee
NXP Employee

No. u-Boot is bootloader, not a regular OS task doing some job in a loop.
The boot CPU may spend time in different loops depending on the boot stage,
waiting for some IO status or user input, but basically there is no loop that
could be called "main".

The best way to familiarize with the execution flow inside u-Boot is to run it
under control of a source-level debugger. Refer to the appnote mentioned above.


Have a great day,
Platon

 

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

3 Replies
1,208 Views
bpe
NXP Employee
NXP Employee

It is not clear what was meant with "FSBL". This is acronym is not used
in NXP or u-Boot documentation.  If you meant TF-A, it does not support your
platform. The valid boot flow for LS1021A is described here. u-Boot is the
first external code that receives control. u-Boot can be multiple stages,
but that depends on the boot memory and u-Boot build time configuration.
Some details of the execution flow inside u-Boot can be found in AN4956

Hope this helps,
Platon

 

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

1,208 Views
jiye
Contributor V

In other words, there is a main loop in uboot as well

0 Kudos
1,209 Views
bpe
NXP Employee
NXP Employee

No. u-Boot is bootloader, not a regular OS task doing some job in a loop.
The boot CPU may spend time in different loops depending on the boot stage,
waiting for some IO status or user input, but basically there is no loop that
could be called "main".

The best way to familiarize with the execution flow inside u-Boot is to run it
under control of a source-level debugger. Refer to the appnote mentioned above.


Have a great day,
Platon

 

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