
Hello Wolfgang,
I'm trying to debug my u-boot with BDI. It's a 405GP based system. In the telnet sessoin I can insert "reset run" and u-boot starts. When I enter "reset halt" and then "go" it won't do anything. I have tried with ddd
What do you mean with "it won't do anything"? Who won't do anything? The BDI2000? The CPU? What makes you think the CPU does not do anything?
At first I thought the 405GP cpu does not start. On my card is a LED display, so I can output some numbers very early in the startup process. With "reset halt", "go" the display never change its contents, with "reset run" it does.
Are you sure your BDI2000 config file is OK for your board?
Good question. What should happen, to be shure? I have debugged a running Linux kernel with this configuration. So I think(!) the major settings are ok.
How did you configure "RESET type" and "STARTUP mode"? Is your "START address" ok?
RESET is not set, defaults to "SYSTEM" STARTUP is set to RESET START is set to 0x0000'0000 (readed from a default file)
With "reset halt", "info" I see the CPU waiting at address 0xFFFF'FFFC, after one single step ("ti") it waits at address 0xFFFF'C0100. Seems ok.
When I step the mtmsr instruction ddd shows address 0x700, and the esr register has 0x8800'0000 (illegal instruction occured?????). Same when I place a breakpoint behind the mtmsr instruction und use "cont" instead of "stepi".
You are aware that you cannot single step through certain instructions, aren't you?
If the mtmsr instruction is not "single step able", it should run, if I place a breakpoint behind this instruction (for example later in the C routines) and use "go" to run up the breakpoint. Or not?
What is the difference between "reset run" and "reset halt", "go"?
"reset run" and "reset halt" change the startup mode to "run" and "halt", respectively. "go" sets the PC and starts the target system. Ummm.. is there any specific part where the BDI2000 manual is unclear about this?
Perhaps my english is very bad. Question was: Why the cpu is running normal with "reset run", and did not run, when I enter "reset halt", enter a breakpoint and than "go" (it never reaches the breakpoint).
-- JB