This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Compiling and linking with ecos libraries and headers
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