[U-Boot] Trouble running hello_world

Hello clueful people, I am new to U-Boot.
I am having trouble executing anything using U-Boot. I have read the U-Boot README and Manual. I have also tried to following the steps on plugcomputer.org's wiki. I was feeling like I was beginning to get a clue but then I couldn't get anything to work. I figured a good place to start is trying to execute the u-boot hello_world standalone program but I couldn't even get that to work.
I am connected to the serial port via the GuruPlug JTAG board to my GuruPlug Server Plus and here is my output from the serial console: U-Boot 2009.11-rc1-00602-g28a9c08-dirty (Feb 09 2010 - 18:15:21) Marvell-Plug2L
SoC: Kirkwood 88F6281_A0 DRAM: 512 MB NAND: 512 MiB In: serial Out: serial Err: serial Net: egiga0, egiga1 88E1121 Initialized on egiga0 88E1121 Initialized on egiga1 Hit any key to stop autoboot: 0 Marvell>> loads ## Ready for S-Record download ...
## First Load Addr = 0x0C100000 ## Last Load Addr = 0x0C100249 ## Total Size = 0x0000024A = 586 Bytes ## Start Addr = 0x0C100000 Marvell>> go 0xC100000 ## Starting application at 0x0C100000 ...
And that is it. The plug sits there with no further output to the serial console. I've also tried "tftp 0x6400000 hello_world.bin" and "go 0x6400004" (like the manual says to start 4 bytes from start in section 5.12.1) but still, same boring results. I've also tried 0xC100004 with the loads method just in case, but still nothing.
Am I loosing serial console output when I issue the go command? Am I doing something wrong here?
-alfred
hello_world.srec: S013000068656C6C6F5F776F726C642E7372656376 S3150C10000070402DE90050A0E10100A0E10160A0E1D3 S3150C100010600000EB0610A0E37C009FE5300000EBBF S3150C100020250000EB0040A0E30010A0E16C009FE55A S3150C1000302B0000EB68009FE5290000EB64009FE5A0 S3150C1000400510A0E1260000EB070000EA042196E754 S3150C10005054309FE5000052E30410A0E14C009FE5DC S3150C1000600320A0011E0000EB014084E2050054E1C0 S3150C100070F5FFFFDA38009FE5190000EB120000EBD4 S3150C100080000050E3FCFFFF0A0D0000EB24009FE577 S3150C100090130000EB0000A0E37080BDE8C001100C4B S3150C1000A0E001100CFE01100C0B02100C1602100CB9 S3150C1000B01D02100C2E02100C4702100C50C098E5A5 S3150C1000C000F09CE550C098E504F09CE550C098E50E S3150C1000D008F09CE550C098E50CF09CE550C098E5EE S3150C1000E010F09CE550C098E514F09CE550C098E5CE S3150C1000F018F09CE550C098E51CF09CE550C098E5AE S3150C10010020F09CE550C098E524F09CE550C098E58D S3150C10011028F09CE550C098E52CF09CE550C098E56D S3150C10012030F09CE550C098E534F09CE550C098E54D S3150C10013038F09CE550C098E53CF09CE550C098E52D S3150C10014040F09CE550C098E544F09CE550C098E50D S3150C10015048F09CE550C098E54CF09CE550C098E5ED S3150C10016050F09CE550C098E554F09CE550C098E5CD S3150C10017058F09CE550C098E55CF09CE550C098E5AD S3150C10018060F09CE550C098E564F09CE550C098E58D S3150C10019068F09CE51EFF2FE118309FE5010000EA80 S3150C1001A00020A0E30120C3E40C209FE5020053E1DC S3150C1001B0FAFFFF3A1EFF2FE14A82100C4C82100CEC S3150C1001C04578616D706C6520657870656374732005 S3150C1001D04142492076657273696F6E2025640A0058 S3150C1001E041637475616C20552D426F6F74204142BA S3150C1001F0492076657273696F6E2025640A0048650E S3150C1002006C6C6F20576F726C640A00617267632096 S3150C1002103D2025640A003C4E554C4C3E00617267DD S3150C100220765B25645D203D20222573220A004869E1 S3150C1002307420616E79206B657920746F20657869EE S30F0C10024074202E2E2E20000A0A0040 S7050C100000DE

Le 02/02/2011 01:54, Alfred Morgan a écrit :
Hello clueful people, I am new to U-Boot.
I am having trouble executing anything using U-Boot. I have read the U-Boot README and Manual. I have also tried to following the steps on plugcomputer.org's wiki. I was feeling like I was beginning to get a clue but then I couldn't get anything to work. I figured a good place to start is trying to execute the u-boot hello_world standalone program but I couldn't even get that to work.
I am connected to the serial port via the GuruPlug JTAG board to my GuruPlug Server Plus and here is my output from the serial console: U-Boot 2009.11-rc1-00602-g28a9c08-dirty (Feb 09 2010 - 18:15:21) Marvell-Plug2L
This is an old U-Boot. Can you use a newer one?
Amicalement,

Dear Alfred Morgan,
In message 30ADA4E9-4366-4C21-A901-55D23C87E829@54.org you wrote:
I am having trouble executing anything using U-Boot. I have read the U-Boot README and Manual. I have also tried to following the steps on plugcomputer.org's wiki. I was feeling like I was beginning to get a clue but then I couldn't get anything to work. I figured a good place to start is trying to execute the u-boot hello_world standalone program but I couldn't even get that to work.
...
And that is it. The plug sits there with no further output to the serial console. I've also tried "tftp 0x6400000 hello_world.bin" and "go 0x6400004" (like the manual says to start 4 bytes from start in section 5.12.1) but still, same boring results. I've also tried 0xC100004 with the loads method just in case, but still nothing.
Did you read http://www.denx.de/wiki/view/DULG/MyStandaloneProgramDoesNotWork
?
Best regards,
Wolfgang Denk

Wolfgang,
Did you read http://www.denx.de/wiki/view/DULG/MyStandaloneProgramDoesNotWork
I did. I have not modified hello_world.c so I thought it wouldn't apply. Here is my nm output:
$ nm -n examples/standalone/hello_world 00000010 N $d 0000003c N $d 0c100000 t $a 0c100000 T hello_world 0c10009c t $d 0c1000bc t $a 0c1000bc T dummy
-alfred

Dear Alfred Morgan,
In message 4EA4F7E8-6EA1-44D9-A087-04A4F27742DF@54.org you wrote:
I did. I have not modified hello_world.c so I thought it wouldn't = apply. Here is my nm output:
$ nm -n examples/standalone/hello_world 00000010 N $d 0000003c N $d 0c100000 t $a 0c100000 T hello_world 0c10009c t $d 0c1000bc t $a 0c1000bc T dummy
Well, then your entry point is at 0c100000 and you don;t have to try other addresses.
Best regards,
Wolfgang Denk

Well, then your entry point is at 0c100000 and you don;t have to try other addresses.
At least that narrows my problem down. If my problem is stdout not being sent to serial then how could I easily confirm this happening or not? Will someone code me a blinking LED hello_world.c or, since I have serial working, a serial version I can try?
-alfred

Dear Alfred Morgan,
In message 85926FD6-DC95-41C1-9034-64697D1A8278@54.org you wrote:
At least that narrows my problem down. If my problem is stdout not being sent to serial then how could I easily confirm this happening or not? Will someone code me a blinking LED hello_world.c or, since I have serial working, a serial version I can try?
It's probably difficult to come up with something that is simpler than the hello_world exampe (while stil being useful to debug the problem).
Re debugging: attach your JTAG debugger and fire up GDB...
Re "Will someone code me..." - yes, we can do this. Please contact me off-list for a quotation. [Ah, you ment - for free? Sorry, it's not one of my itches.]
Best regards,
Wolfgang Denk

Hi Alfred,
Le 03/02/2011 01:35, Alfred Morgan a écrit :
Will someone code me a blinking LED hello_world.c or, since I have serial working, a serial version I can try?
What prevents you from coding this? You have the whole source code and you build your hello_world from the same tree that produced your u-boot, haven't you? So you can modify hello_world.c as you see fit.
Amicalement,
participants (3)
-
Albert ARIBAUD
-
Alfred Morgan
-
Wolfgang Denk