[U-Boot-Users] printf with u-boot-1.1.2
Shakthi Kannan
shakthimaan at yahoo.com
Thu Oct 13 09:51:19 CEST 2005
Hi Andrew,
Thanks for your reply.
Here is the hello_world compilation output:
make[1]: Entering directory
`/home/shaks/docs/monitor/u-boot/u-boot-1.1.2/examples'
/usr/local/arm/3.4.3/bin/arm-none-linux-gnueabi-gcc -g
-Os -fno-strict-aliasing -fno-common -ffixed-r8
-msoft-float -D__KERNEL__ -DTEXT_BASE=0x01000000
-I/home/shaks/docs/monitor/u-boot/u-boot-1.1.2/include
-fno-builtin -ffreestanding -nostdinc -isystem
/usr/local/arm/3.4.3/bin/../lib/gcc/arm-none-linux-gnueabi/3.4.3/include
-pipe -DCONFIG_ARM -D__ARM__ -march=armv4 -Wall
-Wstrict-prototypes -c -o stubs.o stubs.c
/usr/local/arm/3.4.3/bin/arm-none-linux-gnueabi-ar crv
libstubs.a stubs.o
a - stubs.o
/usr/local/arm/3.4.3/bin/arm-none-linux-gnueabi-gcc -g
-Os -fno-strict-aliasing -fno-common -ffixed-r8
-msoft-float -D__KERNEL__ -DTEXT_BASE=0x01000000
-I/home/shaks/docs/monitor/u-boot/u-boot-1.1.2/include
-fno-builtin -ffreestanding -nostdinc -isystem
/usr/local/arm/3.4.3/bin/../lib/gcc/arm-none-linux-gnueabi/3.4.3/include
-pipe -DCONFIG_ARM -D__ARM__ -march=armv4 -Wall
-Wstrict-prototypes -c -o hello_world.o hello_world.c
/usr/local/arm/3.4.3/bin/arm-none-linux-gnueabi-ld -g
-Ttext 0xc100000 \
-o hello_world -e hello_world hello_world.o
libstubs.a \
-L/usr/local/arm/3.4.3/bin/../lib/gcc/arm-none-linux-gnueabi/3.4.3
-lgcc
/usr/local/arm/3.4.3/bin/arm-none-linux-gnueabi-objcopy
-O srec hello_world hello_world.srec 2>/dev/null
/usr/local/arm/3.4.3/bin/arm-none-linux-gnueabi-objcopy
-O binary hello_world hello_world.bin 2>/dev/null
make[1]: Leaving directory
`/home/shaks/docs/monitor/u-boot/u-boot-1.1.2/examples'
C code
-------
#include <common.h>
#include <exports.h>
int hello_world (int argc, char *argv[])
{
char str[] = "foobar";
printf ("%s\n", str);
return 0;
}
Disassembly code
-----------------
hello_world.o: file format elf32-littlearm
Disassembly of section .text:
00000000 <hello_world>:
#include <exports.h>
int hello_world (int argc, char *argv[])
{
0: e52de004 str lr, [sp, #-4]!
char str[]="foobar";
4: e59f302c ldr r3, [pc, #44] ; 38 <.text+0x38>
8: e8930003 ldmia r3, {r0, r1}
c: e1a03821 mov r3, r1, lsr #16
10: e24dd00c sub sp, sp, #12 ; 0xc
14: e58d0000 str r0, [sp]
printf ("%s\n", str);
18: e59f001c ldr r0, [pc, #28] ; 3c <.text+0x3c>
1c: e1cd10b4 strh r1, [sp, #4]
20: e1a0100d mov r1, sp
24: e5cd3006 strb r3, [sp, #6]
28: ebfffffe bl 0 <printf>
return 0;
}
2c: e3a00000 mov r0, #0 ; 0x0
30: e28dd00c add sp, sp, #12 ; 0xc
34: e8bd8000 ldmia sp!, {pc}
38: 00000000 andeq r0, r0, r0
3c: 00000008 andeq r0, r0, r8
I still don't get printf output. Only a single
character gets printed. Any thoughts?
Thanks,
SK
--
Shakthi Kannan, MS
Software Engineer, Specsoft (Hexaware Technologies)
[E]: shakthimaan at yahoo.com [M]: (91) 98407-87007
[W]: http://www.shakthimaan.com [L]: Chennai, India
__________________________________
Start your day with Yahoo! - Make it your home page!
http://www.yahoo.com/r/hs
More information about the U-Boot
mailing list