EmbeddedRelated.com
Forums

lpc newlib port and toolchain compatability

Started by Mark Gross May 30, 2007
I'm new to the LPC world and I'm trying to bring up the gnuarm toolchain
with the newlib-lpc release 5a port from
http://www.aeolusdevelopment.com/Articles/download.html .

I'm running Ubuntu linux and I'm having issues with compiler and newlib
base version compatibility. My test is to build load and run the
test10.c program on an OLiMEX LPC-P212x development board. If I build
the following tool chain (source bits downloaded from
http://www.gnuarm.org/files.html) it works but if I update the newlib
base or the gcc base then the I can build test10.hex and parts of the
program seem to work but the uart / puts functions seem to fail.

works:
* binutils-2.16.1.tar.bz2 [11.9MB] or * binutils-2.17.tar.bz2 [13.1MB]
* gcc-4.0.2.tar.bz2 [30.3MB]
* newlib-1.14.0.tar.gz [7.61MB]
* insight-6.4.tar.bz2 [20.1MB]

Failes:
* binutils-2.16.1.tar.bz2 [11.9MB] or * binutils-2.17.tar.bz2 [13.1MB]
* gcc-4.1.1.tar.bz2 [37.3MB] or * gcc-4.2.0.tar.bz2 [42.0MB]
* newlib-1.15.0.tar.gz [10.2MB] or * newlib-1.14.0.tar.gz [7.61MB]
* insight-6.6.tar.bz2 [21.5MB] or * insight-6.5.tar.bz2 [20.4MB]
Is there any advice on what the newlib-lpc dependencies on the gcc and
newlib versions are that would explain what I'm seeing.

Are there any guesses on what the debug print failure could be from?

Thanks,

--mgross

An Engineer's Guide to the LPC2100 Series

At 06:18 AM 5/30/2007 -0700, you wrote:
>I'm new to the LPC world and I'm trying to bring up the gnuarm toolchain
>with the newlib-lpc release 5a port from
>http://www.aeolusdevelopment.com/Articles/download.html .
>
>I'm running Ubuntu linux and I'm having issues with compiler and newlib
>base version compatibility. My test is to build load and run the
>test10.c program on an OLiMEX LPC-P212x development board. If I build
>the following tool chain (source bits downloaded from
>http://www.gnuarm.org/files.html) it works but if I update the newlib
>base or the gcc base then the I can build test10.hex and parts of the
>program seem to work but the uart / puts functions seem to fail.


>Is there any advice on what the newlib-lpc dependencies on the gcc and
>newlib versions are that would explain what I'm seeing.
>
>Are there any guesses on what the debug print failure could be from?

I haven't heard of any version dependencies and wouldn't really expect many
but I've been surprised before.

More likely would be a conflict between hooks, if newlib is compiled with
default hooks built in they are likely to be linked in preference to the
ones provided by newlib-lpc. You should either replace the native hooks in
newlib with those provided by newlib-lpc or leave out/remove the hooks from
newlib and link newlib-lpc separately. I prefer the second for its
flexibility in allowing multiple hook libraries to easily adapt to
different families but both will work.

Robert

Another sign of the end of civilization, our technical magazines are
getting chatty
From an EETimes product descriptions 2006/08/09
".... systems that can sample gobs of inputs simultaneously"
Now just what is the technical definition for gobs again?
http://www.aeolusdevelopment.com/
On Wed, May 30, 2007 at 09:36:13PM -0400, Robert Adsett wrote:
> At 06:18 AM 5/30/2007 -0700, you wrote:
> >I'm new to the LPC world and I'm trying to bring up the gnuarm toolchain
> >with the newlib-lpc release 5a port from
> >http://www.aeolusdevelopment.com/Articles/download.html .
> >
> >I'm running Ubuntu linux and I'm having issues with compiler and newlib
> >base version compatibility. My test is to build load and run the
> >test10.c program on an OLiMEX LPC-P212x development board. If I build
> >the following tool chain (source bits downloaded from
> >http://www.gnuarm.org/files.html) it works but if I update the newlib
> >base or the gcc base then the I can build test10.hex and parts of the
> >program seem to work but the uart / puts functions seem to fail.
>
>
> >Is there any advice on what the newlib-lpc dependencies on the gcc and
> >newlib versions are that would explain what I'm seeing.
> >
> >Are there any guesses on what the debug print failure could be from?
>
> I haven't heard of any version dependencies and wouldn't really expect many
> but I've been surprised before.
>
> More likely would be a conflict between hooks, if newlib is compiled with
> default hooks built in they are likely to be linked in preference to the
> ones provided by newlib-lpc. You should either replace the native hooks in
> newlib with those provided by newlib-lpc or leave out/remove the hooks from
> newlib and link newlib-lpc separately. I prefer the second for its
> flexibility in allowing multiple hook libraries to easily adapt to
> different families but both will work.

I'll take a look at the nelib hooks. But as an update from my testing
of the combonations of gnuarm gcc versions and newlib versions for
working with newlib-lpc (to at least have test10.c work as expected) is:

if I build the toolchain with :
* newlib version 1.15.0 it fails.
* gcc 4.2.2 it files.
* gcc 4.0.2 and gcc 4.1.1 with newlib 1.4.0 it works.

It looks like there are two compatibility issues one with gcc4.2 and one
with newlib 1.15.0, I would like to understand both better.

Thanks,

--mgross

>
> Robert
>
> Another sign of the end of civilization, our technical magazines are
> getting chatty
> From an EETimes product descriptions 2006/08/09
> ".... systems that can sample gobs of inputs simultaneously"
> Now just what is the technical definition for gobs again?
> http://www.aeolusdevelopment.com/
>
>
> Yahoo! Groups Links
>