Skip to contentSkip to conversation

u-boot and bdi2000

U-Boot-Users Kate Alhola 3 participants 6 messages May 7, 2004 – May 8, 2004

lore
Share & tools
lore
#0 lore raw

Is there quick hint why u-boot does not start up when bdi2000 is connected to mpc5200 board.

problem is simple. I load my flash programming code ( rload ) to mpc5200 internal sram
with bdi2000 and program u-boot to flash. So, loading and running code works.
Then when i reset system and try start u-boot it hangs in initialization code but
if i remove bdi2000 it boots u-boot without problems.

The bdi2000 initializtion file is based one from denx ftp server. I just ask, if this
is commonly known problem before spending any bit more time for it.

Kate

#1 lore raw
Quoted 3 lines · In message <[email protected]> you wrote:

Is there quick hint why u-boot does not start up when bdi2000 is connected to mpc5200 board.

Because you did not enter a "go" command, or used a bad address with the "go" ?

Quoted 3 lines

problem is simple. I load my flash programming code ( rload ) to mpc5200 internal sram
with bdi2000 and program u-boot to flash. So, loading and running code

Why that? Why don't you just use the BDI2000 to load and program the image to flash?

Quoted 3 lines

Then when i reset system and try start u-boot it hangs in initialization code but
if i remove bdi2000 it boots u-boot without problems.

What is PC pointing to after reset, and what is your correct entry point?

Quoted 3 lines

The bdi2000 initializtion file is based one from denx ftp server. I just ask, if this
is commonly known problem before spending any bit more time for it.

I guess that reading the docs would help. See for example "doc/README.IceCube"

Best regards,

Wolfgang Denk

Signature · 4 lines
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
In accord with UNIX philosophy, Perl gives you enough  rope  to  hang
yourself.              - L. Wall & R. L. Schwartz, _Programming Perl_
#2 lore raw
Quoted 13 lines · Wolfgang Denk
Quoted 4 lines · In message <[email protected]> you wrote:

Is there quick hint why u-boot does not start up when bdi2000 is connected to mpc5200 board.

Because you did not enter a "go" command, or used a bad address with the "go" ?

Of cource i entered go command and and user right address

Quoted 10 lines
Quoted 5 lines

problem is simple. I load my flash programming code ( rload ) to mpc5200 internal sram
with bdi2000 and program u-boot to flash. So, loading and running code

Why that? Why don't you just use the BDI2000 to load and program the image to flash?

Few reasons, at first, the board is not Icecube, it is my own and it has diferent flash etc.
It is easiest to do initial testing to load code to internal sram . With this code i can
test ethernet, serial, flash and sdram. And it is fast to program flash directly over ethernet.

Quoted 11 lines
Quoted 5 lines

Then when i reset system and try start u-boot it hangs in initialization code but
if i remove bdi2000 it boots u-boot without problems.

What is PC pointing to after reset, and what is your correct entry point?

It is pointing reset vector and there is right reset code in this address. I traced execution
with bdi2000 ti command and it executes something 10 instructions ultill it hangs
allways in same place.

- Target MBAR is 0xF0000000
- Target XLBA is 0x80000006
BDI> Target CPU : MPC8280/MGT5200 (Zeppo)

    Target state      : debug mode
    Debug entry cause : trace
    Current PC        : 0xfff00130
    Current CR        : 0x00000000
    Current MSR       : 0x00001002
    Current LR        : 0x00000000

BDI>ti
- Target MBAR is 0xF0000000
- Target XLBA is 0x00000000
BDI> Target CPU : MPC8280/MGT5200 (Zeppo)

    Target state      : debug mode
    Debug entry cause : COP freeze (startup)
    Current PC        : 0xfff00134
    Current CR        : 0x00000000
    Current MSR       : 0x00001002
    Current LR        : 0x00000000

# Step timeout detected
BDI>

Or, if i just run from reset:

- TARGET: processing target startup passed
BDI>info

    Target CPU        : MPC8280/MGT5200 (Zeppo)
    Target state      : debug mode
    Debug entry cause : COP freeze (startup)
    Current PC        : 0xfff00100
    Current CR        : 0x00000000
    Current MSR       : 0x00001002
    Current LR        : 0x00000000

BDI>go
BDI>info
Target CPU : MPC8280/MGT5200 (Zeppo)
Target state : running
BDI>halt
- Target MBAR is 0xF0000000
- Target XLBA is 0x00000000
BDI> Target CPU : MPC8280/MGT5200 (Zeppo)

    Target state      : debug mode
    Debug entry cause : COP freeze (startup)
    Current PC        : 0xfff03178
    Current CR        : 0x00000000
    Current MSR       : 0x00001002
    Current LR        : 0xfff00138

BDI>ti
- Target MBAR is 0xF0000000
- Target XLBA is 0x00000000
BDI> Target CPU : MPC8280/MGT5200 (Zeppo)

    Target state      : debug mode
    Debug entry cause : COP freeze (startup)
    Current PC        : 0xfff03178
    Current CR        : 0x00000000
    Current MSR       : 0x00001002
    Current LR        : 0xfff00138

# Step timeout detected
BDI>

In either case nothing appears in to the console. Also, allways the address is same
and i got the step timeout.

Quoted 10 lines
Quoted 5 lines

The bdi2000 initializtion file is based one from denx ftp server. I just ask, if this
is commonly known problem before spending any bit more time for it.

I guess that reading the docs would help. See for example "doc/README.IceCube"

I did not find anything about this issue. The u-boot works, it has right addresses,
vectors etc. It just things that i already know. The problem is to get it working
with bdi2000. There is something that i did wrong with bdi2000 configuration
and i try figure out what.

Kate

#3 lore raw
Quoted 4 lines · Kate Alhola

........The problem is to get it working
with bdi2000. There is something that i did wrong with bdi2000 configuration
and i try figure out what.

Check to make sure the start up code isn't writing over some of the processor debug registers. Debuggers get upset when they set a particular mode and then you come behind them in software and mess it up :-) I've seen similar things happen with other processors, and this has been the cause. It is proper and necessary to have a boot rom initialize these registers for normal operation, but not when you are trying to use a debugger. If you take out such initialization for debugging, don't forget to put it back when you ship the system! :-)

	-- Dan
#4 lore raw
In reply to Kate Alhola
Quoted 5 lines · In message <[email protected]> you wrote:
Quoted 4 lines

Because you did not enter a "go" command, or used a bad address with the "go" ?

Of cource i entered go command and and user right address

This is not obvious. You didn;t mention it in your report, and it didn't work, so there was a chance ther eis an error here.

Quoted 5 lines
Quoted 3 lines

Why that? Why don't you just use the BDI2000 to load and program the image to flash?

Few reasons, at first, the board is not Icecube, it is my own and it has diferent flash etc.

This is not a reason at all. Of course the BDi2000 can program your flash as well.

Quoted 1 line

It is easiest to do initial testing to load code to internal sram . With

This is something between a matter of taste and an urban legend.

Quoted 2 lines

test ethernet, serial, flash and sdram. And it is fast to program flash directly over ethernet.

It's also fast to program flash with the BDI2000.

Quoted 3 lines

In either case nothing appears in to the console. Also, allways the address is same
and i got the step timeout.

Did you contact Abatron support? What did they say (except for: check for hardware problems - which I'd say, too).

Quoted 3 lines

with bdi2000. There is something that i did wrong with bdi2000 configuration
and i try figure out what.

Which differences are between your board and the LITE5200?

Best regards,

Wolfgang Denk

Signature · 3 lines
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
Any technology distinguishable from magic is insufficiently advanced.
#5 lore raw
Quoted 10 lines · Wolfgang Denk
Quoted 3 lines · In message <[email protected]> you wrote:

It is easiest to do initial testing to load code to internal sram . With

This is something between a matter of taste and an urban legend.

I don't think so. If you have brand new board to test, you can't be sure that everything is working
at all. Things inside of cpu are most propably ones that work. That means internal SRAM, UART
and with little external support ethernet.

Quoted 11 lines
Quoted 5 lines

In either case nothing appears in to the console. Also, allways the address is same
and i got the step timeout.

Did you contact Abatron support? What did they say (except for: check for hardware problems - which I'd say, too).

The reason why i don't think that it is not hw problem in abatron or board but rather
some incompatibility with bdi2000 initialization and u-boot. The abatron works
without problemt to load my own code to internal sram, i can start and run it etc.
I was expecting something same than Dan Malek said that there is something with debug register write etc.

For some reason the both cases, trace and starting with go fails in same place ( before or after bl )

fff00118 <boot_cold>:

fff00118:       7c a0 00 a6     mfmsr   r5
fff0011c:       3c 60 f0 00     lis     r3,-4096
fff00120:       60 63 00 00     ori     r3,r3,0
fff00124:       7c 77 4b a6     mtspr   311,r3
fff00128:       54 63 84 3e     rlwinm  r3,r3,16,16,31
fff0012c:       3c 80 80 00     lis     r4,-32768
fff00130:       90 64 00 00     stw     r3,0(r4)
fff00134:       48 00 30 45     bl      fff03178 <init_5xxx_core>

Also the board works, u-boot works, the board boots and runs linux etc. The only
thing that don't work is u-boot with bdi2000 connected.

Quoted 9 lines
Quoted 5 lines

with bdi2000. There is something that i did wrong with bdi2000 configuration
and i try figure out what.

Which differences are between your board and the LITE5200?

There is lot ot abot nothing diferencies. In basic boot level it is wery compaible with LITE5200.
Only meaningfull diference is that boot flash is diferent. I just needed to change u-boot
to support intel-compatible flash algorithm and change flash size to get it working.

The most diferencies goes in expansions. My board has NAND flash for filesystem, MMC for
filesystem, TI2301 audio codec/touch screen/system ADC, two banks of SDRAM and
FPGA for LCD display controller and i-o expansion use. The board is
http://www.iti.fi/iti5200.php

I was just working to make u-boot to boot kernel from nand flash or mmc.

Kate