[ECOS] Compiling and linking with ecos libraries and headers

Nick Garnett nickg@ecoscentric.com
Mon Apr 11 09:01:00 GMT 2005


Gary Thomas <gary@mlbassoc.com> writes:

> On Sun, 2005-04-10 at 16:08 -0700, Payam Refaeilzadeh wrote: 
> > I am kind of new to embedded developement using ecos. 
> > I was trying to compile and run a simple "hello world"
> > app on a MXLADS board but ran into some problems.  I
> > was able to compile this just fine and I was able to
> > load it on the board using gdb, but when I try running
> > it using the gdb continue command, it freezes on me. 
> > After disassembling and analyzing the loaded program I
> > discovered that when I compile and link my program
> > with the eCos libraries it includes many lines of
> > warm_reset code before the main method, which I don't
> > think belong there, and effectively it gets stuck
> > somewhere in that code, before it even gets to main. 
> > I am thinking I am not linking the "hello world" code
> > against the correct eCos libraries.  I have been using
> > the ecos configuration tool to create the eCos
> > libraries and I have already tried the "default" and
> > "all" package template, and have even tried the RAM
> > startup option hoping that this would get rid of the
> > warm_reset code, but have had no success.  I can use
> > GDB to jump to main and single step there, but just
> > using continue, it gets stuck.
> 
> What's an MLXADS board?  What target did you use?

The MXLADS is a developement board for the Freescale/Motorola
MC9328MXL -- it's an ARM9 variant. We (eCosCentric) did a port to this
board for one of our customers. It has not yet been distributed beyond
this one customer, so I am interested to know where the original
poster obtained the HAL, or whether he has done his own.
 
> To run via GDB, you probably need to be using RAM startup.
> It is correct that there is a fair amount of initialization
> that takes place before "main" gets called - it's the nature
> of embedded systems.

It is also not clear whether the OP has installed RedBoot, or is
trying to run using the JTAG interface. A straightforward RAM startup
application will not execute correctly unless it is loaded from
RedBoot. 


-- 
Nick Garnett                                     eCos Kernel Architect
http://www.ecoscentric.com                The eCos and RedBoot experts


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list