[U-Boot-Users] u-boot on top of another bootloader

Shawn shawnxtech at yahoo.com
Wed Jun 23 04:11:34 CEST 2004


--- Wolfgang Denk <wd at denx.de> wrote:
> In message <20040622013446.79298.qmail at web20730.mail.yahoo.com> you
> wrote:
> > 
> > Can u-boot run on top of another bootloader? The board I'm working on
> has a
> > proprietary boot loader. I cannot totally abandon this bootloader
> because
> > the vendor is unwilling to disclose some critical details of the board.
> So
> > I'm thinking of putting u-boot on top of it. Is this idea feasible?
> 
> It is possible. Basicly the same modifications need to be  made  like
> when attempting to boot from RAM.
> 
What I'm planning to do is as follows. The board's processor is MPC8245.
1. Put u-boot at 0xFFE00000;
2. After power-on the proprietary bootloader starts and initializes the
system.
3. On the bootloader execute 'go 0xFFE00000' to load u-boot. u-boot is
going to initialize the system again except the proprietary part - CPLD
programming.

At the very beginning u-boot is executed from flash. That's why there are
some functions with postfix xxx_f(). Since the system has been initialized
by the original bootloader, is it possible to skip this step and to copy
the necessary part of u-boot to RAM and then to execute it from RAM?

Since it's an MPC8245 board, I use SL8245 as an example. I'm not sure how
to configure those IBATs and DBATs. I dumped these registers from BDI2000
but these values just don't make sense to me. For example, the dumped
IBAT0U and IBAT0L are
ibat0u         : 0x1fa4093d
ibat0l         : 0x4cf40039

#define CFG_IBAT0L  (CFG_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE)
#define CFG_IBAT0U  (CFG_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
But from the configuration in the hearder file, they should be 0x00000012
and 0x00001FFF.

What are these four pairs of IBAT for? Each one for a specific range of
memory space?

I did built an image and put it at 0xFFE00000. However it cannot step
forward from the very first instruction.
(gdb) c
Continuing.

Program received signal SIGSTOP, Stopped (signal)
0xffe00000 in ?? () at /code/u-boot-1.1.1/cpu/mpc824x/start.S:98
98    _start:
(gdb)

Why?

Thank you very much,
-Shawn.



	
		
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail 




More information about the U-Boot mailing list