Detailed boot process LS1021a SD-card-boot and NOR-boot

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

Detailed boot process LS1021a SD-card-boot and NOR-boot

1,213 Views
janbrand
Contributor II

Hi!

I've got a ls1021atwr here. I'm a bit confused about the booting process in ls1021a, before U-Boot Startup. I guess a  boot from NOR differs much more from SD-Boot than i thought - or not. Maybe you can help me to understand the startup...

Please correct me if i'm wrong:

A startup with SD-Boot looks like the following:

1. Power

2. Pre-Boot-Loader get's the cfg_rcw_src to SD-Boot

3. Pre-Boot-Loader load the RCW with Preamble from SD-Card AND the U-Boot SPL into internal RAM

4. The Code in the internal RAM is executed

5. This Code initialize the external RAM...

6. ...And loads the U-Boot into it.

7. The U-Boot Code in the ext. RAM is executed and all is fine.

And now i stock on NOR-Boot:

1. Power

2. Pre-Boot-Loader get's the cfg_rcw_src to NOR- Boot

3. Pre-Boot-Loader loads the RCW binary from a fixed (where defined?) Adress in NOR. (Why can the PBL already read a NOR-Flash - is there no need to load a driver or whatelse?)

4. Pre-Boot-Loader loads directly the U-Boot without SPL into the external RAM

5. This Code in the external RAM and all is fine.

Greets

Jan

Labels (1)
Tags (1)
0 Kudos
3 Replies

795 Views
r8070z
NXP Employee
NXP Employee

Have a great day,

Chip select 0 (CS0) is used for boot purposes from the flash. If the boot source is NOR, then it must be executed in place. I.e. NOR is directly memory-mapped, so booting from NOR can be done as simple read operations by the core without any special arrangements. Before fetching the first instruction from the NOR flash, the IFC flash timing registers are loaded with default timing parameters.

The PBL starts read the RCW from the NOR flash beginning.

>Pre-Boot-Loader loads directly the U-Boot without SPL into the external RAM

It can be done, but it is not effective. Unlike NOR flash, many boot sources (like SD) are not directly memory mapped. So first it should be moved to some memory. If there is small SRAM then the PBL can load small binary (SPL) first into the SRAM where the core starts execute and loads u- boot into the “big” memory. I.e. the PBL loads only small part of the u-boot.

In case of NOR flash we do not need for the SPL, because core can start execute directly from the NOR flash and loads u-boot faster than the PBL.

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

795 Views
janbrand
Contributor II

Thank you for you're reply!

If booting from NOR-Flash there is no need to configure the external RAM? Or is this done by first instructions of that code of Bootloader executed from the Flash?

And another question - I've found the ls102xa_pbi.cfg in the u-boot sources. Where i can sort this code?

kind regards

Jan

0 Kudos

795 Views
r8070z
NXP Employee
NXP Employee

It is supposed that u-boot is loaded into the external RAM. The ls102xa_pbi.cfg is some sort of resource which is placed to non volatile memory which is used by the PBL.

0 Kudos