From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15305 invoked by alias); 3 Sep 2007 07:05:53 -0000 Received: (qmail 15297 invoked by uid 22791); 3 Sep 2007 07:05:51 -0000 X-Spam-Check-By: sourceware.org Received: from stelecom.gomel.by (HELO stelecom.gomel.by) (82.209.213.61) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 03 Sep 2007 07:05:45 +0000 Received: by stelecom.gomel.by (Postfix, from userid 501) id 13282B010678; Mon, 3 Sep 2007 10:05:40 +0300 (EEST) Received: from [192.168.0.33] (unknown [82.209.212.146]) by stelecom.gomel.by (Postfix) with ESMTP id 8573AB01063E; Mon, 3 Sep 2007 10:05:29 +0300 (EEST) From: Sergei Gavrikov To: albert prasetyo Cc: ecos-discuss@ecos.sourceware.org In-Reply-To: References: <02b801c7e602$3d029150$887ba8c0@PAULD> <1187935563.16741.4.camel@sg-ubuntu> <1188196396.28515.7.camel@sg-ubuntu> <20070901174802.GA6767@ubuntu> Content-Type: text/plain Date: Mon, 03 Sep 2007 07:05:00 -0000 Message-Id: <1188803530.20880.24.camel@sg-ubuntu> Mime-Version: 1.0 X-Mailer: Evolution 2.8.1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] ecos application problem X-SW-Source: 2007-09/txt/msg00013.txt.bz2 albert prasetyo writes: > Hi Sergei; > Thank you very much! Now everything just works. > It is arguable that the cause of my problem (i.e. mangled output) is the cflags. It seems, this is a wrong conclusion. I known no one GCC flag which occurs mangled output. You set type of diag output when you configure ecos.ecc. I just did limit CFLAGS sequence because I did demo how to build a _minimalist_ eCos application. I sure that CFLAGS='-Iinstall/include -O0 -g' in my 1-2-3 example will be work too. Look closely at your build defaults (ecos.ecc): CYGBLD_GLOBAL_CFLAGS, CYGBLD_GLOBAL_LDFLAGS. You can just quite overwrite those before the making of the eCos libraries just edited the ecos.ecc. Those flags to include itself (install/include/pkgconf/ecos.mak) in your final build. Try to replace -O2 by -O0 optimization flag there when you build debug image. Sergei > The original compiler flags that i used is '-I$(INSTALL_DIR)/include' > replace it with your recommended cflags and my application runs properly. > Allow me to reproduce what I did earlier: > ROM mode > Using cygwin and hyperterminal in Windows environment: > 1) Compile redboot using AT91RM9200 template with redboot packages. > 2) Using ROM mode and without any Ethernet package, I modify nothing > else and start building the library. > 3) put the redboot on the board > 4) For building application library, repeat step 1 and 2 (only mode used is RAM) > 5) start cygwin, go to ecos example folder, and open makefile > 6) change the CFLAGS variable to '-O0 -g' > 7) compile the application (e.g. hello.c from the ecos example, havent > tried Sergei's hello.c) > 8) As Sergei advised, start gdb (only now from cygwin) > arm-elf-gdb -nw -nx -q hello > (gdb) set remotebaud 115200 > (gdb) target remote /dev/com1 > ......//some characters printed (in my case "0x100054b4 in ?? ()") > (gdb) load > loading section .rom_vectors, size xxx lma yyy > loading section .text, size xxx lma yyy > loading section .rodata, size xxx lma yyy > loading section .data, size xxx lma yyy > start address xxx, load size yyy > transfer rate: xxx bits/sec, yyy bytes/write. > (gdb) cont > continuing. > > Hello ecos World! > > Hope this will help anyone that encounter same problem as me. > > On 9/2/07, Sergei Gavrikov wrote: > > On Sat, Sep 01, 2007 at 05:35:47PM +0800, albert prasetyo wrote: > > > Hi Sergey; > > > Thank you for your info. It provides me further understanding on how > > > redboot and ecos work. Actually, my board (AT91RM9200) is designed to > > > communicate through PC using 1 serial port only (DBGU port). Is there > > > any way to print "Hello World" (i.e. Application message) using only > > > one port? Moreover, my board does not have spare LED, the LEDs are > > > only used to signal whether the board is turned on or not and Ethernet > > > connection. Thank you for your attention. > > > > Be sure! I don't know your hardware, sorry. But, If I remember, you ran > > that eCos application using the RedBoot 'go' command and saw a mangled > > output, is it right? So, your eCos application works! Did you try to use > > GDB to download and run any eCos test? If you have a working RedBoot for > > your target and it (RedBoot) contains the GDB interface (cdl_interface > > CYGINT_HAL_DEBUG_GDB_STUBS), try to use even GDB 5.3 from eCosCentric. > > > > Just a conspectus (1-2-3), if you did install eCos stuff on Linux box... > > > > 1. Build eCos > > > > ecosconfig new "your_target_name" minimal \ > > && ecosconfig tree \ > > && make -s > > > > 2. Build a minimalist 'hello' > > > > cat <<_EOF>hello.c > > cyg_start(){diag_printf("hello, world!\n");} > > _EOF > > > > make hello CFLAGS='-O0 -g' LDFLAGS='-Linstall/lib -Ttarget.ld -nostdlib' > > > > 3. Run that 'hello' using GDB > > > > arm-elf-gdb -nw -nx -q hello > > > > Note: at the least, it's needed to connect itself using the GDB remote > > protocol (suppose, /dev/ttyS0 is your port), reset a board before to do > > this. > > > > On GDB promp (gdb) just try to enter commands (again, it's 1-2-3) > > > > target remote /dev/ttyS0 > > load > > cont > > > > Are you seeing something now? > > > > If you aren't... Sorry. They talk that M$ + Cygwin + Insight + Java + > > Eclipse IDE + ... are good things for beginners. Sorry, I don't believe > > them. They cannot say you, Let's do '1-2-3' and get the result. They > > offer a tour is containing a lot of screenshots... > > > > But, it's pretty simple just to grab and unpack ONE gnutools tarball for > > Linux (ftp://ecos.sourceware.org/pub/ecos/gnutools/i386linux) and get > > the result in a few minutes. > > > > > > Sergei > > > > > > PS: Sergei, when will you come to Singapore? I owe you a treat! => > > Regards; > Albert P > -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss