From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Wozniak Date: Thu, 13 Oct 2005 09:43:42 -0400 Subject: [U-Boot-Users] printf with u-boot-1.1.2 In-Reply-To: <20051013075119.42975.qmail@web30712.mail.mud.yahoo.com> References: <20051013075119.42975.qmail@web30712.mail.mud.yahoo.com> Message-ID: <434E648E.4010200@mc.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de I'm not familiar with the ARM platform, but in general, this compile looks ok. Shakthi Kannan wrote: > 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 -DTEXT_BASE=0x01000000 is where U-Boot should be installed. > -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 \ -Ttext 0xc100000 is the "load" and "run" address of hello_world. Forget about the 0x4 offset mentioned in the docs, it is for PPC only. > -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 > #include > > int hello_world (int argc, char *argv[]) > { > char str[] = "foobar"; > app_startup(argv); The original hello_world source code and doc/README.standalone says that app_startup() is required for proper access to imported functions, such as printf(). > printf ("%s\n", str); > return 0; > } > > Disassembly code > ----------------- > > hello_world.o: file format elf32-littlearm > > Disassembly of section .text: > > 00000000 : > #include > > > 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 > 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 > > > ------------------------------------------------------- > This SF.Net email is sponsored by: > Power Architecture Resource Center: Free content, downloads, discussions, > and more. http://solutions.newsforge.com/ibmarch.tmpl > _______________________________________________ > U-Boot-Users mailing list > U-Boot-Users at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/u-boot-users >