Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Thread

ARIUSDSP - GNU ARM Toolchain

ARIUSDSP - GNU ARM Toolchain

2003-12-17 by Bill Knight

I've been doing ARM development for a few years now and am presently
working on an ARM project which requires thumb-interwork(ing).  The
majority of the code is run in thumb mode but the ISRs must run in
ARM mode.  I found that the gcc at ariusdsp does have the bug where
the return from an ISR, function w/ __attribute__((interrupt)), is not
performed properly.  This bug is not specific to the ariusdsp distribution
but seems to be prevalent in most of the 3.1, 3.2, & 3.3 versions of gcc.
The only one I have found that operates correctly in this instance is
a GNUpro distribution of 3.1 from the Intel website.  The bug appears to
be present in the GNUpro version (3.0.4) that comes with the Keil tools.
I understand this and the local variable corruption bug in ISRs is suppose
to be fixed in the soon-to-be-released 3.4.

Regards
-Bill Knight
R O SoftWare

Re: [lpc2100] ARIUSDSP - GNU ARM Toolchain

2003-12-17 by Lewin A.R.W. Edwards

> a GNUpro distribution of 3.1 from the Intel website.  The bug appears to
> be present in the GNUpro version (3.0.4) that comes with the Keil tools.

I'm pretty sure the latest developer betas from Keil fix this issue
(sorry no URL).

-- Lewin A.R.W. Edwards (http://www.zws.com/)
Learn how to develop high-end embedded systems on a tight budget!
http://www.amazon.com/exec/obidos/ASIN/0750676094/zws-20

Re: [lpc2100] ARIUSDSP - GNU ARM Toolchain

2003-12-17 by Bill Knight

On Wed, 17 Dec 2003 11:16:20 -0500, Lewin A.R.W. Edwards wrote:


> a GNUpro distribution of 3.1 from the Intel website.  The bug appears to
> be present in the GNUpro version (3.0.4) that comes with the Keil tools.

I'm pretty sure the latest developer betas from Keil fix this issue
(sorry no URL).

-------------------------------------------------------------------------

I pulled down their eval version about a week ago and tested it just before
sending my last post.  Problem appeared to be there.

The return was
  subs pc, lr, #4
should be
  bx   <some register>

Do you know if there is a newer version on there site?

-Bill Knight
R O SoftWare

Re: [lpc2100] ARIUSDSP - GNU ARM Toolchain

2003-12-17 by Lewin A.R.W. Edwards

> I pulled down their eval version about a week ago and tested it just
before
> sending my last post.  Problem appeared to be there.

#define CAGEY
From what site (I mean, what was the domain name) did you download the
eval version, and was it explicitly labeled as a beta?
#undef CAGEY

I was explicitly asked not to reveal the URL of the version I'm using,
so I *assume* it is not a publicly-available version. It contains
binutils 2.14, gcc 3.3.1, uclibc 0.9.20 and cygwin 1.3.22.

-- Lewin A.R.W. Edwards (http://www.zws.com/)
Learn how to develop high-end embedded systems on a tight budget!
http://www.amazon.com/exec/obidos/ASIN/0750676094/zws-20

Re: [lpc2100] ARIUSDSP - GNU ARM Toolchain

2003-12-17 by Leon Heller

----- Original Message ----- 
Show quoted textHide quoted text
From: "Lewin A.R.W. Edwards" <larwe@...>
To: <lpc2100@yahoogroups.com>
Sent: Wednesday, December 17, 2003 4:33 PM
Subject: Re: [lpc2100] ARIUSDSP - GNU ARM Toolchain


> > I pulled down their eval version about a week ago and tested it just
> before
> > sending my last post.  Problem appeared to be there.
> 
> #define CAGEY
> From what site (I mean, what was the domain name) did you download the
> eval version, and was it explicitly labeled as a beta?
> #undef CAGEY
> 
> I was explicitly asked not to reveal the URL of the version I'm using,
> so I *assume* it is not a publicly-available version. It contains
> binutils 2.14, gcc 3.3.1, uclibc 0.9.20 and cygwin 1.3.22.

The versions for my build are:

I used gcc 3.3.2 for my build of the tools.

Leon
--
Leon Heller, G1HSM
Email: aqzf13@...
My low-cost Philips LPC210x ARM development system:
http://www.geocities.com/leon_heller/lpc2104.html

Re: [lpc2100] ARIUSDSP - GNU ARM Toolchain

2003-12-17 by Pablo Bleyer Kocik

At 12:54 17-12-2003, you wrote:
>I've been doing ARM development for a few years now and am presently
>working on an ARM project which requires thumb-interwork(ing).  The
>majority of the code is run in thumb mode but the ISRs must run in
>ARM mode.  I found that the gcc at ariusdsp does have the bug where
>the return from an ISR, function w/ __attribute__((interrupt)), is not
>performed properly.  This bug is not specific to the ariusdsp distribution
>but seems to be prevalent in most of the 3.1, 3.2, & 3.3 versions of gcc.
>The only one I have found that operates correctly in this instance is
>a GNUpro distribution of 3.1 from the Intel website.  The bug appears to
>be present in the GNUpro version (3.0.4) that comes with the Keil tools.
>I understand this and the local variable corruption bug in ISRs is suppose
>to be fixed in the soon-to-be-released 3.4.

  I am compiling a snapshot of the 3.4 series now. I will made it available 
on the GNUARM site as soon as I test it.

  Regards!

GCC-3.4 2003-12-17 snapshot

2003-12-17 by Pablo Bleyer Kocik

An installer is available following 
http://www.ariusdsp.com/gnuarmtools.html. Only C & C++ are enabled, 
compiled against Newlib.

  Please, test it to see if it fit your needs.

  Warmest regards.

Re: [lpc2100] GCC-3.4 2003-12-17 snapshot

2003-12-18 by Bill Knight

On Wed, 17 Dec 2003 18:25:43 -0300, Pablo Bleyer Kocik wrote:


  An installer is available following 
http://www.ariusdsp.com/gnuarmtools.html. Only C & C++ are enabled, 
compiled against Newlib.

  Please, test it to see if it fit your needs.
==================================================================
  I downloaded the new release this morning then recompiled my
operational thumb-interwork(ing) program.  A quick look at the return
code in the ISRs showed they were not returning via the 'bx'
instruction as required to restore the appropriate ARM/THUMB mode.  I
loaded the code into my eval board via a JTAG interface & gdb
anyway and it crashed out almost immediately.  I reloaded it into the
simulator in gdb and got the same results.  Think I'll hold off until
the final version of 3.4 is available.

  This probably isn't the place to ask seeing as I just complained
about the compiler but here goes anyway.  Would it be possible in
future releases to include the Insight version of gdb?  I realize it
makes the distribution bigger but I do find the graphical interface
indespensible.  If it is too big to include, could it be made a
seperate distribution by itself?  Thanks.

-Bill Knight
R O SoftWare

PS - The distributions I use with thumb-interwork always seem to have
seperate directories for those libraries.  I do not see them with this
distribution.  Am I missing something or is it possible the
thumb-interwork code & libraries are missing?  Though I expected the
compiler to complain if I requested that mode and it wasn't supported.
It did not.

Re: [lpc2100] GCC-3.4 2003-12-17 snapshot

2003-12-18 by Pablo Bleyer Kocik

Hello Bill. Thank you for your comments.

At 11:02 18-12-2003, you wrote:
>   I downloaded the new release this morning then recompiled my
>operational thumb-interwork(ing) program.  A quick look at the return
>code in the ISRs showed they were not returning via the 'bx'
>instruction as required to restore the appropriate ARM/THUMB mode.  I
>loaded the code into my eval board via a JTAG interface & gdb
>anyway and it crashed out almost immediately.  I reloaded it into the
>simulator in gdb and got the same results.  Think I'll hold off until
>the final version of 3.4 is available.

  Please, can you send me your compilation options? I *assume* you are 
using the "thumb-interwork" switch, aren't you?

  BTW, ISRs do not return with the bx instruction. ISRs restore the CPSR 
saved in the link register (r14). This will preserve the mode the processor 
was in before the interrupt.

  For example, here is the listing for a simple program with IRQ and FIQ 
calls. Disassembly seems right to me.

---8<---
00000000 <do_it>:
int
do_it() {
    0:   e1a0c00d        mov     ip, sp
    4:   e92dd800        stmdb   sp!, {fp, ip, lr, pc}
    8:   e24cb004        sub     fp, ip, #4      ; 0x4
    c:   e1a00003        mov     r0, r3
   10:   e89d6800        ldmia   sp, {fp, sp, lr}
   14:   e12fff1e        bx      lr

00000018 <do_irq>:
}

int __attribute__ ((interrupt ("IRQ")))
do_irq() {
   18:   e52dc004        str     ip, [sp, -#4]!
   1c:   e1a0c00d        mov     ip, sp
   20:   e92dd809        stmdb   sp!, {r0, r3, fp, ip, lr, pc}
   24:   e24cb004        sub     fp, ip, #4      ; 0x4
   28:   e1a00003        mov     r0, r3
   2c:   e89d6809        ldmia   sp, {r0, r3, fp, sp, lr}
   30:   e8bd1000        ldmia   sp!, {ip}
   34:   e25ef004        subs    pc, lr, #4      ; 0x4

00000038 <do_fiq>:
}

void __attribute__ ((interrupt ("FIQ")))
do_fiq() {
   38:   e52dc004        str     ip, [sp, -#4]!
   3c:   e1a0c00d        mov     ip, sp
   40:   e92dd800        stmdb   sp!, {fp, ip, lr, pc}
   44:   e24cb004        sub     fp, ip, #4      ; 0x4
   48:   e89d6800        ldmia   sp, {fp, sp, lr}
   4c:   e8bd1000        ldmia   sp!, {ip}
   50:   e25ef004        subs    pc, lr, #4      ; 0x4

00000054 <main>:
}

int
main(int argc, char **argv) {
   54:   e1a0c00d        mov     ip, sp
   58:   e92dd800        stmdb   sp!, {fp, ip, lr, pc}
   5c:   e24cb004        sub     fp, ip, #4      ; 0x4
   60:   e24dd008        sub     sp, sp, #8      ; 0x8
   64:   e50b0010        str     r0, [fp, -#16]
   68:   e50b1014        str     r1, [fp, -#20]
         do_it();
   6c:   ebfffffe        bl      0 <do_it>
                         6c: R_ARM_PC24  do_it
         do_irq();
   70:   ebfffffe        bl      0 <do_it>
                         70: R_ARM_PC24  do_irq
         do_fiq();
   74:   ebfffffe        bl      0 <do_it>
                         74: R_ARM_PC24  do_fiq
         return 0;
   78:   e3a03000        mov     r3, #0  ; 0x0
}
   7c:   e1a00003        mov     r0, r3
   80:   e24bd00c        sub     sp, fp, #12     ; 0xc
   84:   e89d6800        ldmia   sp, {fp, sp, lr}
   88:   e12fff1e        bx      lr

--->8---


>   This probably isn't the place to ask seeing as I just complained
>about the compiler but here goes anyway.  Would it be possible in
>future releases to include the Insight version of gdb?  I realize it
>makes the distribution bigger but I do find the graphical interface
>indespensible.  If it is too big to include, could it be made a
>seperate distribution by itself?  Thanks.

  Insight is planned to go into the distribution. I am having problems 
compiling the TCL libraries (it seems the TCL/TK guys made some API changes 
to the latest distro that Insight doesn't like). As soon as I resolve these 
issues I will include Insight in the toolchain. Please bear with me.

>-Bill Knight
>R O SoftWare
>
>PS - The distributions I use with thumb-interwork always seem to have
>seperate directories for those libraries.  I do not see them with this
>distribution.  Am I missing something or is it possible the
>thumb-interwork code & libraries are missing?  Though I expected the
>compiler to complain if I requested that mode and it wasn't supported.
>It did not.

  That is part of the problem ;^)

  As I understand it, old GCC ARM interworking code was a mess of a hack. 
All libraries were compiled against all possibilities of the 
thumb/interwork switches. This added a lot of redundancy and was getting 
difficult to maintain. The compilation process was rewritten in the "right 
way" in the GCC-3 series and now GCC is "aware" of ARM interworking. Now 
there are only two set of libraries, plain ARM and thumb (look under the 
lib/gcc/arm-elf/[gcc-version] toolchain subdirectory -- the thumb directory 
is there). GCC should be smart enough to generate the correct mode swapping 
code (it "should" -- but it is not there yet, some small issues are 
remaining but are getting continuously detected and fixed).

  Cheers.

Re: [lpc2100] GCC-3.4 2003-12-17 snapshot

2003-12-18 by Pablo Bleyer Kocik

At 11:02 18-12-2003, you wrote:
>PS - The distributions I use with thumb-interwork always seem to have
>seperate directories for those libraries.  I do not see them with this
>distribution.  Am I missing something or is it possible the
>thumb-interwork code & libraries are missing?  Though I expected the
>compiler to complain if I requested that mode and it wasn't supported.
>It did not.

  Argh! Just checked it and you are right. I didn't understood your 
question well at first. Exactly, the thumb *plus* interwork variation is 
missing. It seems my build script messed up and replaced the target 
configuration file with itself and other multilibs weren't built. I will 
compile the missing libs and post a new installer.

  Sorry for the hassle. Regards.

Re: [lpc2100] GCC-3.4 2003-12-17 snapshot

2003-12-18 by Bill Knight

Answers/Comments interspersed and start with +

-Bill


On Thu, 18 Dec 2003 13:21:15 -0300, Pablo Bleyer Kocik wrote:
  Hello Bill. Thank you for your comments.

At 11:02 18-12-2003, you wrote:
>   I downloaded the new release this morning then recompiled my
>operational thumb-interwork(ing) program.  A quick look at the return
>code in the ISRs showed they were not returning via the 'bx'
>instruction as required to restore the appropriate ARM/THUMB mode.  I
>loaded the code into my eval board via a JTAG interface & gdb
>anyway and it crashed out almost immediately.  I reloaded it into the
>simulator in gdb and got the same results.  Think I'll hold off until
>the final version of 3.4 is available.

  Please, can you send me your compilation options? I *assume* you are 
using the "thumb-interwork" switch, aren't you?

+ yes, thumb files are compiled with both -mthumb & -mthumb-interwork
and ARM files are compiled with -mthumb-interwork.  Linking is done with
-mthumb-interwork.  This code works fine with a GNUpro version of tools
I have been using for about a year now.

  BTW, ISRs do not return with the bx instruction. ISRs restore the CPSR 
saved in the link register (r14). This will preserve the mode the processor 
was in before the interrupt.

+ I was going to show you how smart I was in this section but in seaching
for collaborating evidence, I am now uncertain what the problem is.  The
ONLY thing that I am certain of is (err, let me recheck that--- <insert
explitive here>  Well I just cleaned out everything and rebuilt the whole
project with the new tools.  Seems to work fine.  It has two ISRs (timer
overflow & uart) and a cooperative multi-tasker which, when called, saves
all un-clobbered registers on the stack, changes to the next task's stack
space, recovers its registers and returns.  All of that is running OK
(at least so far).  So ummm, never-mind.

I will continue using the new stuff until/unless I find a major oops.  And
will let you know when/if I do.

Now if I just had Insight....

Thanks for the patience.

-Bill

Re: [lpc2100] GCC-3.4 2003-12-17 snapshot

2003-12-18 by Pablo Bleyer Kocik

At 15:19 18-12-2003, you wrote:
>+ I was going to show you how smart I was in this section but in seaching
>for collaborating evidence, I am now uncertain what the problem is.  The
>ONLY thing that I am certain of is (err, let me recheck that--- <insert
>explitive here>  Well I just cleaned out everything and rebuilt the whole
>project with the new tools.  Seems to work fine.  It has two ISRs (timer
>overflow & uart) and a cooperative multi-tasker which, when called, saves
>all un-clobbered registers on the stack, changes to the next task's stack
>space, recovers its registers and returns.  All of that is running OK
>(at least so far).  So ummm, never-mind.
>
>I will continue using the new stuff until/unless I find a major oops.  And
>will let you know when/if I do.

  Thanks. Did you try the 3.3.2 toolchain BTW?

>Now if I just had Insight....

  Working on that. I hope I will fix the issues soon.

  Regards.

Re: [lpc2100] GCC-3.4 2003-12-17 snapshot

2003-12-18 by Pablo Bleyer Kocik

At 15:47 18-12-2003, you wrote:

>So, what we're learned is that the old tools and the new tools are somewhat
>incompatable and that projects should be rebuilt from scratch, right?  That's
>a valuable lesson for me as I would have assumed an object file is an object
>file is a ...
>
>Cheers,
>David

  AFAIK, there haven't been any ABI changes. But then again, perhaps there 
were bug issues and that's an ABI change per se ;^)

  Cheers.

Re: [lpc2100] GCC-3.4 2003-12-17 snapshot

2003-12-18 by David Willmore

> + I was going to show you how smart I was in this section but in seaching
> for collaborating evidence, I am now uncertain what the problem is.  The
> ONLY thing that I am certain of is (err, let me recheck that--- <insert
> explitive here>  Well I just cleaned out everything and rebuilt the whole
> project with the new tools.  Seems to work fine.  It has two ISRs (timer
> overflow & uart) and a cooperative multi-tasker which, when called, saves
> all un-clobbered registers on the stack, changes to the next task's stack
> space, recovers its registers and returns.  All of that is running OK
> (at least so far).  So ummm, never-mind.
> 
> I will continue using the new stuff until/unless I find a major oops.  And
> will let you know when/if I do.
> 
> Now if I just had Insight....
> 
> Thanks for the patience.

So, what we're learned is that the old tools and the new tools are somewhat
incompatable and that projects should be rebuilt from scratch, right?  That's
a valuable lesson for me as I would have assumed an object file is an object
file is a ...

Cheers,
David

Tools..revisited

2003-12-18 by James Dabbs

Just doing a "1-month later" check on tools used with the LPC210X.
Before, I got positive feedback about Ashling and Nohau, and some nice
words about Leon Heller's board as well as Rowley Associates.  Since the
group has grown, experiences have grown, and because it really looks
like I've got to do this, I'm asking again..

1. What are the GNU-based tools that developers use with the LPC210X,
and how do they compare?

2. (slightly OT) Does anyone use these same tools with other ARM parts
-- namely, the Sharp LH75410 and the Atmel AT91RM9200.  Are the tools
plug'n'play across all ARM7/9 cores or is there more to it than that?

Any info is appreciated..and..I APPRECIATE YOUR PATIENCE!!

James Dabbs

Re: [lpc2100] Tools..revisited

2003-12-18 by Lewin A.R.W. Edwards

> 1. What are the GNU-based tools that developers use with the LPC210X,
> and how do they compare?

My preference is for generic gcc run in Linux. Where necessary (e.g.
when using a Macraigor Wiggler...) I use Cygwin.

However, for political reasons, in working on the LPC21xx parts I have
allowed myself to be persuaded to use Keil's version of GNUpro inside
Windows. I do not particularly enjoy cumbersome Windows IDEs, but I'll
allow myself to be persuaded that they accelerate the development
process for engineers who are accustomed to them. Since I'm used to vi
and makefiles, I find an IDE slows me down rather.

I have used ADS, and it's nice enough - and it generates slightly
smaller, often quantifiably faster code than gcc (though I have the same
gripe about ADS as I do about Keil - too much sugar!). The main downside
to ADS is that most of the OSes and other IP I use are open-source, and
they're intended for building with the GNU tools. This means that
serious massaging can be necessary to get things playing nicely inside
the IDEs.

I am currently trying to work out how to coerce the Keil-supplied
toolchain to build eCos.

> 2. (slightly OT) Does anyone use these same tools with other ARM parts
> -- namely, the Sharp LH75410 and the Atmel AT91RM9200.  Are the tools
> plug'n'play across all ARM7/9 cores or is there more to it than that?

Not really OT, many people need to support multiple projects with
different microcontrollers. I have written a book around the "generic"
gcc and the AT91R40807, and using the exact same toolchain I have
written many lines of code for the Cirrus CL-EP7212, 7312, and also the
LH79520. The *compiler* is plug-n-play, it's the default linking options
you need to tinker with (and of course hardware-specific libraries and
POI code!).

-- Lewin A.R.W. Edwards (http://www.zws.com/)
Learn how to develop high-end embedded systems on a tight budget!
http://www.amazon.com/exec/obidos/ASIN/0750676094/zws-20

EAGLE Symbols

2003-12-18 by James Dabbs

ALSO..

Has anyone taken the time to do an EAGLE symbol for the LPC210X?  Not
that I mind doing it, but if it's already been done a few times..

Thanks,

James Dabbs

Re: [lpc2100] EAGLE Symbols

2003-12-18 by Lewin A.R.W. Edwards

> Has anyone taken the time to do an EAGLE symbol for the LPC210X?  Not
> that I mind doing it, but if it's already been done a few times..

If you do one, please post it to Cadsoft's user-downloads area. They are
very prompt about making public contributions available.

-- Lewin A.R.W. Edwards (http://www.zws.com/)
Learn how to develop high-end embedded systems on a tight budget!
http://www.amazon.com/exec/obidos/ASIN/0750676094/zws-20

Re: [lpc2100] Tools..revisited

2003-12-18 by David Willmore

> Just doing a "1-month later" check on tools used with the LPC210X.
> Before, I got positive feedback about Ashling and Nohau, and some nice
> words about Leon Heller's board as well as Rowley Associates.  Since the
> group has grown, experiences have grown, and because it really looks
> like I've got to do this, I'm asking again..
> 
> 1. What are the GNU-based tools that developers use with the LPC210X,
> and how do they compare?

Uhh, ftp ftp.gnu.org is my favorite... :)

> 2. (slightly OT) Does anyone use these same tools with other ARM parts
> -- namely, the Sharp LH75410 and the Atmel AT91RM9200.  Are the tools
> plug'n'play across all ARM7/9 cores or is there more to it than that?

The core of the Gameboy Advance is an ARM7TDMI, so the developers of that
often use the GNU tool chain.  They have quite an active yahoo group
called gbadev.  One of the tool packages that seems popular for them is
the Devkit Advance which, IIRC, is a windows IDE using the GNU tool chain.
I've never used it.  I'm still looking for a cheap way to cable the GBA
to a PC.  Well, that and every time I get the thing out to develop on, I
end up playing PokeMon, again....  Both my wife and I are hooked on it
and there's supposed to be a new one coming out in March/April.  I guess
I had better get my projects finished by then.... *sigh*

I use the GNU tool chain for development on my Webpal--which is a Cirrus
CL-PS7500FE.  It's an ARM 710C core with an FPU.  I can't find a datasheet
on the 710C core at ARM, but there are plenty of coppies of the datasheet
from Cirrus available.  Mine is now self hosting.  It was a great day
to build GCC targeted for ARM and *not* be building it as a cross compiler!
Too bad there seems to be no support for hardware floating point under
Linux.

Speaking of gcc, has anyone any comments to make on the new DFA pipeline
scheduler that went into 3.4?  Any timing changes?

Cheers,
David

Re: EAGLE Symbols

2003-12-18 by Richard

I have uploaded an Eagle library for the LPC210x.  Be advised that I 
have not used it yet so doulbe check it!

Richard

PS:  I also sent it to Cadsoft.

--- In lpc2100@yahoogroups.com, "James Dabbs" <jdabbs@t...> wrote:
> ALSO..
> 
> Has anyone taken the time to do an EAGLE symbol for the LPC210X?  
Not
Show quoted textHide quoted text
> that I mind doing it, but if it's already been done a few times..
> 
> Thanks,
> 
> James Dabbs

Re: [lpc2100] EAGLE Symbols

2003-12-18 by Leon Heller

----- Original Message ----- 
Show quoted textHide quoted text
From: "James Dabbs" <jdabbs@...>
To: <lpc2100@yahoogroups.com>
Sent: Thursday, December 18, 2003 9:25 PM
Subject: [lpc2100] EAGLE Symbols


> ALSO..
> 
> Has anyone taken the time to do an EAGLE symbol for the LPC210X?  Not
> that I mind doing it, but if it's already been done a few times..

I've done one for Pulsonix, the PCB software I use.

Leon
--
Leon Heller, G1HSM
Email: aqzf13@...
My low-cost Philips LPC210x ARM development system:
http://www.geocities.com/leon_heller/lpc2104.html

Re: [lpc2100] Tools..revisited

2003-12-18 by Leon Heller

----- Original Message ----- 
Show quoted textHide quoted text
From: "David Willmore" <willmore@...>
To: <lpc2100@yahoogroups.com>
Sent: Thursday, December 18, 2003 10:27 PM
Subject: Re: [lpc2100] Tools..revisited


[deleted]

> I use the GNU tool chain for development on my Webpal--which is a Cirrus
> CL-PS7500FE.  It's an ARM 710C core with an FPU.  I can't find a datasheet
> on the 710C core at ARM, but there are plenty of coppies of the datasheet
> from Cirrus available.  Mine is now self hosting.  It was a great day
> to build GCC targeted for ARM and *not* be building it as a cross
compiler!
> Too bad there seems to be no support for hardware floating point under
> Linux.

A friend of mine and I got a Webpal each, intending to run Linux on them. We
haven't got round to it yet, though. I spent quite a lot of time clearing
the holes on the PCB for a header so I can attach an RS-232 interface. I
made a little PCB with a MAX202 on it.

Leon Heller, G1HSM
Email: aqzf13@...
My low-cost Philips LPC210x ARM development system:
http://www.geocities.com/leon_heller/lpc2104.html

Re: [lpc2100] Tools..revisited (now Webpal)

2003-12-18 by David Willmore

Hello, again, Leon!

> A friend of mine and I got a Webpal each, intending to run Linux on them. We
> haven't got round to it yet, though. I spent quite a lot of time clearing
> the holes on the PCB for a header so I can attach an RS-232 interface. I
> made a little PCB with a MAX202 on it.

If you want your FLASH SIM programmed, I'd be glad to.  Sucking the solder
off of the 2x5 header is pretty quick with some desoldering braid and a
hold iron--and you just got a new one. :)

They're nice little boxes because they have VGA, PS/2 mouse/keyboard, and
an IDE connector.  The serial, audio, Composite/S-Video, the IR, and the
smartcard are just gravy. :)  I mean, throw in a 2.5" HD, a larger DRAM
SIM (72 pin), reprogram the FLASH, and you've got a computer.  Sure, 40
MHz isn't much to write home about, but it's a *whole* computer.  It's
faster than anything I owned up until '95 or so, too.  I've got 4 of
them.  Now, if I could find some ISA ethernet cards that work in them,
I'd be a very happy camper.  For the dozens of ISA ethernet cards I 
have, you'd think *one* of them would work in it. 

What are the requirements?  5V only, only I/O space is mapped, and just
IRQ2 is wired?  *sigh*  Maybe it some more cards would work if they
had 12V.  Hmmmm....

I'm thinking of using one of mine for the development platform for my
lpc210x board.  It's simpler when the host and target are the same
platform--no more cross compilers!

Cheers,
David

Re: [lpc2100] Tools..revisited

2003-12-19 by microbit

> I've never used it.  I'm still looking for a cheap way to cable the GBA
> to a PC.  Well, that and every time I get the thing out to develop on, I
> end up playing PokeMon, again....  Both my wife and I are hooked on it
> and there's supposed to be a new one coming out in March/April.  I guess
> I had better get my projects finished by then.... *sigh*

I bought 2 GBAs for my kids last XMAS, I want them back !!!:-) (Grin)
Yet another thing to fiddle with one day, heh.

-- Kris
The Matrix has you .... again !

Re: [lpc2100] GCC-3.4 2003-12-17 snapshot

2003-12-19 by Bill Knight

OK, wow have I messed up.  They say as you get old, the mind is the
second thing to go.  Yesterday when I finally stated my conclusion
that the gcc-3.4 snapshot was working OK, well, err, I was wrong.
Between the mail list activity, meetings, and other work, I had
removed the snapshot and I was actually compiling and testing the code
with the GNUpro distribution that has always worked for me.

This morning I reloaded the gcc-3.4 snapshot and recompiled from
scratch.  Using an older version of Insight, I could not get the code
to run on either my eval board or in the simulator.  In the simulator,
I could single-step (asm level) it seems for as long as I wanted.  But
anything greater than that (C lang step) would cause the simulator to
start executing code where there was no code.  I could not get even
that far with Insight and a JTAG connection to my eval board (running
in RAM on an EB40A).  The code jumps into never-never land during the
port initialization routine well before interrupts are enabled.

I'll try to spend some more time on the problem in an attempt to
isolate it.  Sorry for the repeated erroneous reports.

-Bill Knight
R O SoftWare

Re: [lpc2100] GCC-3.4 2003-12-17 snapshot

2003-12-19 by Pablo Bleyer Kocik

Hello!

At 10:49 19-12-2003, you wrote:
>OK, wow have I messed up.  They say as you get old, the mind is the
>second thing to go.  Yesterday when I finally stated my conclusion
>that the gcc-3.4 snapshot was working OK, well, err, I was wrong.
>Between the mail list activity, meetings, and other work, I had
>removed the snapshot and I was actually compiling and testing the code
>with the GNUpro distribution that has always worked for me.
>
>This morning I reloaded the gcc-3.4 snapshot and recompiled from
>scratch.  Using an older version of Insight, I could not get the code
>to run on either my eval board or in the simulator.  In the simulator,
>I could single-step (asm level) it seems for as long as I wanted.  But
>anything greater than that (C lang step) would cause the simulator to
>start executing code where there was no code.  I could not get even
>that far with Insight and a JTAG connection to my eval board (running
>in RAM on an EB40A).  The code jumps into never-never land during the
>port initialization routine well before interrupts are enabled.
>
>I'll try to spend some more time on the problem in an attempt to
>isolate it.  Sorry for the repeated erroneous reports.

  Did you try the 3.3.2 release?

  I just updated it to use the fixed build scripts. I rebuilt Newlib to 
pick up the interwork libs.

  BTW, I was reading my yesterday reply to your email. It shows up there:

---8<---
ISRs do not return with the bx instruction. ISRs restore the CPSR
saved in the link register (r14). This will preserve the mode the processor
was in before the interrupt.
--->8---

  This is obviously not correct. There is part of a sentence missing here. 
It should say "ISRs restore the CPSR and then the return address saved in 
the link register".

  Please keep me updated with your tribulations ;^)

Re: [lpc2100] GCC-3.4 2003-12-17 snapshot

2003-12-19 by Bill Knight

On Fri, 19 Dec 2003 11:48:52 -0300, Pablo Bleyer Kocik wrote:

  Did you try the 3.3.2 release?

  I just updated it to use the fixed build scripts. I rebuilt Newlib to 
pick up the interwork libs.

======================================================================

Just downloaded and tried it.  I get pretty much the same results I
got with the 3.4 release.  There may be a compatability issue with
the older version if Insight I am using.  I'll have a go with the
new gdb when I get a chance.

If all else fails, I'll get the sources and build a release using
the procedures I used to create the GNUpro version I built for ARM7s.
If that works, I'll let you know the proceedure(s).  I built that
quite a while ago so do not remember the details at this time.

Regards
-Bill

Re: [lpc2100] Tools..revisited

2003-12-19 by David Willmore

> I bought 2 GBAs for my kids last XMAS, I want them back !!!:-) (Grin)
> Yet another thing to fiddle with one day, heh.

If they've given up on them--or if they do because of what they get
this year--you might be able to do it quiely. :)

The GBA is a nice development platform because it's cheap, available
everywhere, has a lot of interesting hardware attached, has 256KB
of 'external' ram, some 8K or so of 'on chip' ram, and can be booted
over the serial cable.  The latter is the kicker.

It's also fairly well documented--look for the 'cowbite virtual spec'.

Happy developing.

Cheers,
David

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.