Standalone application issue.
Hi,
I am trying to load and execute the hello world standalone app on the arndale exynos 5250. I created an image using the mkimage tool and then used the bootm to load and execute the image. However, the applications does not print anything on the terminal and all what I can see is the following:
Image Type: ARM U-Boot Standalone Program (uncompressed)
Data Size: 594 Bytes = 594 Bytes
Load Address: 70200000
Entry Point: 70200000
Verifying Checksum ... OK
XIP Standalone Program ... OK
XIP Standalone Program ... OK
OK
ARNDALE5250 #
Could you please help me with that issue.
Mnay thanks.
--
View this message in context: http://u-boot.10912.n7.nabble.com/Standalone-application-issue-tp180515.html
Sent from the U-Boot mailing list archive at Nabble.com.
Dear "mazen.e",
Quoted 11 lines · In message <[email protected]> you wrote:
I am trying to load and execute the hello world standalone app on the arndale exynos 5250. I created an image using the mkimage tool and then used the bootm to load and execute the image. However, the applications does not print anything on the terminal and all what I can see is the following:
Image Type: ARM U-Boot Standalone Program (uncompressed)
Data Size: 594 Bytes = 594 Bytes
Load Address: 70200000
Entry Point: 70200000
Where are these load and entry point addresses coming from?
As far as I can see, the linker command for the hello_world progrtam looks like this:
arm-linux-gnueabi-ld.bfd -g -Ttext 0xc100000 -o examples/standalone/hello_world -e hello_world ...
And I also see
-> nm hello_world | grep hello_world 0c100000 T hello_world
So I would expect to see 0xC100000 instead of 0x70200000 ??
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Der Irrtum wiederholt sich immerfort in der Tat. Deshalb mu? man das Wahre unerm?dlich in Worten wiederholen. - Goethe
Dear Wolfgang,
Thank you very much for pointing out the issue of address conflict.
I tried loading the standalone app considering your remarks, however, the app hangs at the following after a bootm command :
-------------------------------------------------------------------------------------------------------------
## Booting kernel from Legacy Image at 43e00000 ...
Image Name: Hello World Image Type: ARM U-Boot Standalone Program (uncompressed) Data Size: 594 Bytes = 594 Bytes
Load Address: c1000000
Entry Point: 0c100000
Verifying Checksum ... OK
Loading Standalone Program ... OK
OK
---------------------------------------------------------------------------------------------
imi command returns the following:
Checking Image at 43e00000 ...
Legacy image found
Image Name: Hello World Image Type: ARM U-Boot Standalone Program (uncompressed) Data Size: 594 Bytes = 594 Bytes
Load Address: c1000000
Entry Point: 0c100000
Verifying Checksum ... OK
--------------------------------------------------------------------------------
md 43e00000 command returns:
43e00000: 56190527 92e3281e e3fe8053 52020000 '..V.(..S......R 43e00010: 000000c1 0000100c ef3a4c3c 00010211 ........<L:..... 43e00020: 6c6c6548 6f57206f 00646c72 00000000 Hello World..... 43e00030: 00000000 00000000 00000000 00000000 ................ 43e00040: e92d40f8 e1a05000 e1a00001 e1a06001 . at -..P.......`.. 43e00050: eb000062 e3a01006 e59f007c e3a04000 b.......|.... at .. 43e00060: eb00002f e59f7074 eb000023 e1a01000 /...tp..#....... 43e00070: e59f006c eb00002a e59f0068 eb000028 l...*...h...(... 43e00080: e59f0064 e1a01005 eb000025 ea000006 d.......%....... 43e00090: e7962104 e1a01004 e59f0050 e2844001 .!......P.... at .. 43e000a0: e3520000 01a02007 eb00001d e1540005 ..R.. ........T. 43e000b0: dafffff6 e59f0038 eb000019 eb000012 ....8........... 43e000c0: e3500000 0afffffc eb00000d e59f0024 ..P.........$... 43e000d0: eb000013 e3a00000 e8bd80f8 0c1001cf ................ 43e000e0: 0c1001c8 0c1001ef 0c10020d 0c10021a ................ 43e000f0: 0c100225 0c100236 0c10024f e598c054 %...6...O...T..
Please be advised that i used loadb command and kermit console (send
command) to download the image serially into the target.
Thank you very much for your time.
--
View this message in context: http://u-boot.10912.n7.nabble.com/Standalone-application-issue-tp180515p180612.html
Sent from the U-Boot mailing list [email protected].
Dear "mazen.e",
Quoted 9 lines · In message <[email protected]> you wrote:
I tried loading the standalone app considering your remarks, however, the app hangs at the following after a bootm command :
-------------------------------------------------------------------------------------------------------------
## Booting kernel from Legacy Image at43e00000...Image Name: Hello World Image Type: ARM U-Boot Standalone Program (uncompressed) Data Size: 594 Bytes = 594 BytesLoad Address:
c1000000
-------------------^^^^^^^^
Quoted 1 line
Entry Point: 0c100000
-------------------^^^^^^^^
Quoted 2 lines
Verifying Checksum ... OK
Loading Standalone Program ... OK
0xc1000000 != 0x0c100000
1) Please re-check load address and entry point address - I feel they should be identical, but they are not. Actually your entry point address seems bogus (missing one 0).
2) Did you verify (using the "nm" command or by checking the link map) that c1000000 is indeed the entry point address?
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The use of COBOL cripples the mind; its teaching should, therefore,
be regarded as a criminal offence.
-- Edsger W. Dijkstra, SIGPLAN Notices, Volume 17, Number 5Dear Wolfang,
Dear Wolfang,
Thank you very much for the time your are investing replying to my messages.
Here is the command I am using to make the image :
mkimage -A arm -O u-boot -T standalone -C none -a c1000000 -e 0c100000 -n "Hello World" -d hello_world.bin HelloWorld.img
Please note that I checked using nm command that the entry point is actually 0c100000.
Please be advised that in order to transfer the image to the arndale 5250 board, I am launching loadb command (at the default load address 0x43e0000) and then returning to the kermit window (ctrl \ + c) and finally I am using the kermit send command for the actual file transfer. Launching the command md shows that the file has actually been transferred. To load and execute the image I am using the command bootm.
Please note that I am using the arndale 5250 KVM uboot version which shall loads the kernel in hyp mode, with the same configuration
Many thanks and best regards.
--
View this message in context: http://u-boot.10912.n7.nabble.com/Standalone-application-issue-tp180515p180660.html
Sent from the U-Boot mailing list archive at Nabble.com.
Dear "mazen.e",
Quoted 9 lines · In message <[email protected]> you wrote:
Here is the command I am using to make the image :
mkimage -A arm -O u-boot -T standalone -C none -a
c1000000-e0c100000-n "Hello World" -d hello_world.bin HelloWorld.imgPlease note that I checked using nm command that the entry point is actually
0c100000.
You did not really read my message...
I wrote:
|> Load Address: c1000000 |-------------------^^^^^^^^ |> Entry Point: 0c100000 |-------------------^^^^^^^^ |> Verifying Checksum ... OK |> Loading Standalone Program ... OK | |0xc1000000 != 0x0c100000 | |1) Please re-check load address and entry point address - I feel they | should be identical, but they are not. Actually your entry point | address seems bogus (missing one 0).
Checkl your command again, you are passing two DIFFERENT addresses. The address for "-a" has 6 zeros (correct), while the address for "-e" has only 5 (wrong).
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "The number of Unix installations has grown to 10, with more expected." - The Unix Programmer's Manual, 2nd Edition, June, 1972
Dear wolfagang,
Again thank you very much.
Please note :
I used the following command :
mkimage -A arm -O u-boot -T standalone -C none -a c1000000 -e c1000000 -n "Hello World" -d hello_world.bin Hello.img
I transfred the image file to (using loadb 0x43e00000), the md command shows the following:
43e00000: 56190527 7b49d5f0 62568253 52020000 '..V..I{S.Vb...R
43e00010: 000000c1 000000c1 ef3a4c3c 00010211 ........<L:.....
43e00020: 6c6c6548 6f57206f 00646c72 00000000 Hello World.....
43e00030: 00000000 00000000 00000000 00000000 ................
43e00040: e92d40f8 e1a05000 e1a00001 e1a06001 . at -..P.......`..
43e00050: eb000062 e3a01006 e59f007c e3a04000 b.......|.... at ..
43e00060: eb00002f e59f7074 eb000023 e1a01000 /...tp..#.......
43e00070: e59f006c eb00002a e59f0068 eb000028 l...*...h...(...
43e00080: e59f0064 e1a01005 eb000025 ea000006 d.......%.......
43e00090: e7962104 e1a01004 e59f0050 e2844001 .!......P.... at ..
43e000a0: e3520000 01a02007 eb00001d e1540005 ..R.. ........T.
43e000b0: dafffff6 e59f0038 eb000019 eb000012 ....8...........
43e000c0: e3500000 0afffffc eb00000d e59f0024 ..P.........$...
43e000d0: eb000013 e3a00000 e8bd80f8 0c1001cf ................
43e000e0: 0c1001c8 0c1001ef 0c10020d 0c10021a ................
43e000f0: 0c100225 0c100236 0c10024f e598c054 %...6...O...T.Bootm 0x43e00000 raises an undefined instruction exception.
Booting kernel from Legacy Image@43e00000 ...
Image Name: Hello World Image Type: ARM U-Boot Standalone Program (uncompressed) Data Size: 594 Bytes = 594 Bytes
Load Address: c1000000
Entry Point: c1000000
Verifying Checksum ... OK
Loading Standalone Program ... OK
OK
undefined instruction
pc : [<0000025e>] lr : [<bff7b45c>]
sp : bfe6fdd8 ip : 00000000 fp : bffae680
r10: bffae104 r9 : 00000000 r8 : bfe6ff30
r7 : 00000000 r6 : 00000002 r5 : 00000001 r4 : 00000000
r3 : 00000100 r2 : 00000000 r1 : 00000001 r0 : 00000001
Flags: nzcv IRQs off FIQs off Mode SVC_32
Resetting CPU ...
----------------------------------------------------------------------------------------------------------------------------------------------------------------
On the other hand, the command arm-linux-gnueabi-nm hello_world | grep hello_world
0c100000 T hello_world
so, the entry point of the image 0c100000
Hence, I also used the command:
mkimage -A arm -O u-boot -T standalone -C none -a c1000000 -e 0c100000 -n "Hello World" -d hello_world.bin Hello.img
the command bootm 0x43e00000 returns the following :
AUB ARNDALE 5250 # bootm 0x43E00000
## Booting kernel from Legacy Image at 43e00000 ...
Image Name: Hello World Image Type: ARM U-Boot Standalone Program (uncompressed) Data Size: 594 Bytes = 594 Bytes
Load Address: c1000000
Entry Point: 0c100000
Verifying Checksum ... OK
Loading Standalone Program ... OK
OK
and the program hangs on at this stage giving no sign of life.
Please help what I am missing.
Many thanks and best regards,
--
View this message in context: http://u-boot.10912.n7.nabble.com/Standalone-application-issue-tp180515p180667.html
Sent from the U-Boot mailing list archive at Nabble.com.
Dear "mazen.e",
Quoted 7 lines · In message <[email protected]> you wrote:
On the other hand, the command arm-linux-gnueabi-nm
hello_world| grephello_world
0c100000Thello_worldso, the entry point of the image
0c100000
OK, so it's at 0c10.0000
Quoted 1 line
mkimage -A arm -O u-boot -T standalone -C none -a
c1000000-e0c100000-n
----------------------------------------------------^^^^^^^^
Quoted 11 lines
"Hello World" -d hello_world.bin Hello.img
the command bootm
0x43e00000returns the following :AUB ARNDALE 5250 # bootm
0x43E00000
## Booting kernel from Legacy Image at43e00000...Image Name: Hello World Image Type: ARM U-Boot Standalone Program (uncompressed) Data Size: 594 Bytes = 594 BytesLoad Address:
c1000000
-------------------^^^^^^^^^
You fixed the entry point address, but you still use the incorrect load address. The program cannot run if you load it into some unrelated memory region and then jump to some totally different address. You must use the SAME address (0c10.0000) for both the -a and -e options.
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Command, n.:
Statement presented by a human and accepted by a computer
in such a manner as to make the human feel as if he is in control.Dear Wolfgang,
Thank you very much.
As per your request,
I executed the following mkimage command:
mkimage -A arm -O u-boot -T standalone -C none -a 0x0c100000 -e 0x0c100000 -n "Hello World" -d hello_world.bin Hello.img
Than, I transferred to the board using uboot loadb (followed by the kermit send command) and then launched the bootm
ARNDALE5250 # bootm 0x43E00000
## Booting kernel from Legacy Image at 43e00000 ...
Image Name: Hello World Image Type: ARM U-Boot Standalone Program (uncompressed) Data Size: 594 Bytes = 594 Bytes
Load Address: 0c100000
Entry Point: 0c100000
Verifying Checksum ... OK
Loading Standalone Program ... OK
OK
Still, the program hangs at the above giving no sign of life.
Please note I am using the arndale 5250 board, am I missing something?
Can I try to write the hello world standalone into the microSD? what are dd parameters shall I use (e.g. seek)?
Many thanks and best regards.
--
View this message in context: http://u-boot.10912.n7.nabble.com/Standalone-application-issue-tp180515p180701.html
Sent from the U-Boot mailing list archive at Nabble.com.
Dear "mazen.e",
Quoted 3 lines · In message <[email protected]> you wrote:
mkimage -A arm -O u-boot -T standalone -C none -a
0x0c100000-e0x0c100000-n "Hello World" -d hello_world.bin Hello.img
...
Quoted 10 lines
ARNDALE5250 # bootm
0x43E00000
## Booting kernel from Legacy Image at43e00000...Image Name: Hello World Image Type: ARM U-Boot Standalone Program (uncompressed) Data Size: 594 Bytes = 594 BytesLoad Address:
0c100000
Entry Point:0c100000
Verifying Checksum ... OK
Loading Standalone Program ... OK
OK
This looks OK to me.
Quoted 1 line
Still, the program hangs at the above giving no sign of life.
Well, then I guess you should attach a JTAG debugger and have a closer look where it is hanging, and why.
Quoted 2 lines
Can I try to write the hello world standalone into the microSD? what are dd parameters shall I use (e.g. seek)?
That would not change anything, I think.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "A complex system that works is invariably found to have evolved from a simple system that worked." - John Gall, _Systemantics_
Thanks Wolfgang,
I will do and post the result.
Many thanks.
--
View this message in context: http://u-boot.10912.n7.nabble.com/Standalone-application-issue-tp180515p180707.html
Sent from the U-Boot mailing list archive at Nabble.com.
Dear Mazen
Quoted 6 lines · mazen.e <mazen.ezzeddine <at> gmail.com> writes:
Thanks Wolfgang,
I will do and post the result.
Many thanks.
I've never got "bootm" to run any of the standalone applications in the example directory but through trial and error (maybe luck) "bootelf" works for me. I've tested that this works with old 2010.XX and latest 2014.XX releases. Note I use PowerPC, but worth I try in your case I guess.
This is how I build the hello_world binary:
tools/mkimage -A powerpc -T standalone -C none -a 0x200000 -e 0x200000 -n hello_world -d examples/standalone/hello_world hello_world.img
And these are these serries of commands that loads and executes the binary:
usb start
fatload usb 0 80000 hello_world.img
bootelf 80040
-----
test # usb start
(Re)start USB...
USB: Register 1111 NbrPorts 1
USB EHCI 1.00
scanning bus for devices... 3 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
test # fatload usb 0 80000 hello_world.img
reading hello_world.img
69441 bytes read
test # bootelf 80040
## Starting application at 0x00040000 ...
Example expects ABI version 6
Actual U-Boot ABI version 6
Hello World
argc = 1
argv[0] = "80040"
argv[1] = "<NULL>"
Hit any key to exit ...
## Application terminated, rc = 0x0
test #
-----
Good luck!
All the best,
Rommel
Dear Rommel,
Quoted 2 lines · In message <[email protected]> you wrote:
I've never got "bootm" to run any of the standalone applications in the
Actually "go" is the native command that is supposed tobe used to start SA apps.
Quoted 7 lines
example directory but through trial and error (maybe luck) "bootelf" works for me. I've tested that this works with old 2010.XX and latest 2014.XX releases. Note I use PowerPC, but worth I try in your case I guess.
This is how I build the
hello_worldbinary:
Quoted 8 lines
tools/mkimage-A powerpc -T standalone -C none -a0x200000-e0x200000-nhello_world-d examples/standalone/hello_world hello_world.imgAnd these are these serries of commands that loads and executes the binary:
usb start
fatload usb 0 80000 hello_world.img
bootelf 80040
Frankly, this is crap. You don;t make use of the image header here, so you could as well save all the efforts. Just store "hello_world" (the ELF file) in your file system, then load that dierectly, and start it. There is no sense in using mkimage as done above.
Quoted 9 lines
test # bootelf 80040
## Starting application at0x00040000...
Example expects ABI version 6
Actual U-Boot ABI version 6
Hello World
argc = 1
argv[0] = "80040"
argv[1] = "<NULL>"
Hit any key to exit ...
And how would you pass additional arguments to the SA app?
Use "go", this was made for the purpose at hand!
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "Everybody is talking about the weather but nobody does anything about it." - Mark Twain
Dear Wolfgang,
Quoted 5 lines · Wolfgang Denk <wd <at> denx.de> writes:
Dear Rommel,
Quoted 1 line · In message <loom.20140528T012622-10 <at> post.gmane.org> you wrote:
<snipped>
Quoted 2 lines
Use "go", this was made for the purpose at hand!
Thanks for the comments! I will give it a "go" next time :-)
Quoted 5 lines
Best regards,
Wolfgang Denk
All the best,
Rommel
Hello,
Quoted 12 lines · mazen.e
ARNDALE5250 # bootm
0x43E00000
## Booting kernel from Legacy Image at43e00000...Image Name: Hello World Image Type: ARM U-Boot Standalone Program (uncompressed) Data Size: 594 Bytes = 594 BytesLoad Address:
0c100000
Entry Point:0c100000
Verifying Checksum ... OK
Loading Standalone Program ... OK
OK
which version of u-boot are you using and where did you compile the hello_world example from?
Regards,
Jeroen
Hi,
I am using the u-boot-arndale from
https://github.com/virtualopensystems/u-boot-arndale and I am using the arm-linux-gnueabi- Linaro toolchain for compilation? I also tried u-boot-linaro-2013.03.01 but the issue persist? any suggestion please?
Many thanks.
--
View this message in context: http://u-boot.10912.n7.nabble.com/Standalone-application-issue-tp180515p180720.html
Sent from the U-Boot mailing list archive at Nabble.com.