bare board booting

I'm a little confused about the OMAP3530 boot process. I am designing
based on the beagleboard. I will be putting the OMAP3530 part on
straight from the factory. What I don't get is how the boot loader
gets into ROM originally. Is there factory code already burned in? Is
this similiar to U-Boot and/or XLoader? I see in the OMAP manual that
they talk about the boot process, but I am unclear if the ROM has code
in it already from the factory. Can someone tell me the exact sequence
of events from a new design standpoint of getting the boot loader into
the device?

Thanks

I'm a little confused about the OMAP3530 boot process. I am designing
based on the beagleboard. I will be putting the OMAP3530 part on
straight from the factory. What I don't get is how the boot loader
gets into ROM originally. Is there factory code already burned in? Is

Yes.

this similiar to U-Boot and/or XLoader? I see in the OMAP manual that

It is much simpler than U-Boot or X-Loader.

It can load a binary "blob" from MMC, USB, NAND (if available) or UART3
into the SRAM (64 kByte) using specific protocols. It can e.g. only
read a specific sequence of sectors on a MMC, i.e. it does not understand
a file system. It just happens that if you format the MMC in a specific format
and install the file "MLO" as the first one, that it is in the right position.

they talk about the boot process, but I am unclear if the ROM has code
in it already from the factory. Can someone tell me the exact sequence
of events from a new design standpoint of getting the boot loader into
the device?

You use the Boot ROM to load some small binary into SRAM. This small
binary can then load a larger binary into SDRAM and start that.

On the BeagleBoard, the X-Loader (called MLO when stored on a MMC
card) is this "small binary". It is a heavily stripped down U-Boot that can
just do one thing: print a message and load a larger u-boot.bin into SDRAM.

There are different versions of X-Loader depending where they search
for the u-boot.bin (NAND, MMC, UART3).

The flow chart of the Boot ROM is somewhere in the technical manuals
of the OMAP3530.

It took me also a while to understand for our www.gta04.org project, so
I hope this helps you to understand better.

Nikolaus

augie wrote:

I'm a little confused about the OMAP3530 boot process. I am designing
based on the beagleboard. I will be putting the OMAP3530 part on
straight from the factory. What I don't get is how the boot loader
gets into ROM originally. Is there factory code already burned in? Is
this similiar to U-Boot and/or XLoader? I see in the OMAP manual that
they talk about the boot process, but I am unclear if the ROM has code
in it already from the factory. Can someone tell me the exact sequence
of events from a new design standpoint of getting the boot loader into
the device?

the ROM is inside already, no need to get it into the device.

the ROM code then can boot from NAND/NOR, SD/MMC, serial or USB...

http://beagleboard.lohray.com/vm-larix/bare-metal-hello-world is a part of a documentation that I am still compiling. This page and a few other pages linked to it might help understand a part of the bare metal boot process.

Warm regards,
Bharath