Best Assembler for lpc chip.

I'm new to LPC chip & my present activity is to get some experience
with this device. I acquired one of the Olimex boards with LPC2103 and
RS232 and I need help to select the tool to learn the chip. I didn't
realized that there are so many options. I appreciate the advise which
compiler is the best that meets following criteria:

- I need only assembler and loader. I would miss the point to try to
learn the nuts&bolts of the chip by using C. I'll use assembler to
write a very simple programs like blinking led or getting data from
A/D converter and etc. The best is assembler as part of complete IDE,
but I think it is asking too much.

- I have only Linux boxes (Debian). Getting Win just to learn the
chip it would be too much. Also, I prefer binary form. By average, I
found that I spend more time to compile the program than to run it. It
can be open source (preferred) or reasonably priced commercial.

I would greatly appreciate if you can help me to find the best tool
for the job.

--- In l..., "ispgardner" wrote:>
> I'm new to LPC chip & my present activity is to get some experience
> with this device. I acquired one of the Olimex boards with LPC2103 and
> RS232 and I need help to select the tool to learn the chip. I didn't
> realized that there are so many options. I appreciate the advise which
> compiler is the best that meets following criteria:
>
> - I need only assembler and loader. I would miss the point to try to
> learn the nuts&bolts of the chip by using C. I'll use assembler to
> write a very simple programs like blinking led or getting data from
> A/D converter and etc. The best is assembler as part of complete IDE,
> but I think it is asking too much.
>
> - I have only Linux boxes (Debian). Getting Win just to learn the
> chip it would be too much. Also, I prefer binary form. By average, I
> found that I spend more time to compile the program than to run it. It
> can be open source (preferred) or reasonably priced commercial.
>
> I would greatly appreciate if you can help me to find the best tool
> for the job.
>
> Thanx
>

It's pretty easy to build the gnu-arm package from www.gnuarm.org. It
will include the GNU assembler. All under Linux, of course.

I use that package with Eclipse as the IDE and it works very well.

However, I think you should write a few things in C just to see what
the assembly language looks like. This is NOT your average Z80
assembly language. There are a lot of twists, particularly when you
are using ARM mode because many instructions can be conditional. This
helps keep the pipeline full but it does take some thought.

The C startup file (crt.s) is written in assembly language and it is
about all I want to see. Maybe a short interrupt routine but that
would be about it.

Have fun!

Richard

Reply by ispgardner●October 3, 20062006-10-03

--- In l..., "rtstofer" wrote:>
> --- In l..., "ispgardner" wrote:
> >
> > I'm new to LPC chip & my present activity is to get some experience
> > with this device. I acquired one of the Olimex boards with LPC2103 and
> > RS232 and I need help to select the tool to learn the chip. I didn't
> > realized that there are so many options. I appreciate the advise which
> > compiler is the best that meets following criteria:
> >
> > - I need only assembler and loader. I would miss the point to try to
> > learn the nuts&bolts of the chip by using C. I'll use assembler to
> > write a very simple programs like blinking led or getting data from
> > A/D converter and etc. The best is assembler as part of complete IDE,
> > but I think it is asking too much.
> >
> > - I have only Linux boxes (Debian). Getting Win just to learn the
> > chip it would be too much. Also, I prefer binary form. By average, I
> > found that I spend more time to compile the program than to run it. It
> > can be open source (preferred) or reasonably priced commercial.
> >
> > I would greatly appreciate if you can help me to find the best tool
> > for the job.
> >
> > Thanx
> > It's pretty easy to build the gnu-arm package from www.gnuarm.org. It
> will include the GNU assembler. All under Linux, of course.
>
> I use that package with Eclipse as the IDE and it works very well.
>
> However, I think you should write a few things in C just to see what
> the assembly language looks like. This is NOT your average Z80
> assembly language. There are a lot of twists, particularly when you
> are using ARM mode because many instructions can be conditional. This
> helps keep the pipeline full but it does take some thought.
>
> The C startup file (crt.s) is written in assembly language and it is
> about all I want to see. Maybe a short interrupt routine but that
> would be about it.
>
> Have fun!
>
> Richard
>

Thanx for the advise. It looks like that some staff is already
pre-built for Debian. I'll try to use "as" as a part of binutils. I
have only one question; how one can download *.hex file into the board
via rs232? There is a loader from Philips, but I haven't seen anything
for Linux. Do you know about any loader for Linux? Or should I use
Wine or other emulator?

Gardner

Reply by rtstofer●October 3, 20062006-10-03

--- In l..., "ispgardner" wrote:>
> --- In l..., "rtstofer" wrote:
> >
> > --- In l..., "ispgardner" wrote:
> > >
> > > I'm new to LPC chip & my present activity is to get some experience
> > > with this device. I acquired one of the Olimex boards withLPC2103 and> > > RS232 and I need help to select the tool to learn
the chip. I didn't
> > > realized that there are so many options. I appreciate the advisewhich> > > compiler is the best that meets following
criteria:
> > >
> > > - I need only assembler and loader. I would miss the point totry to> > > learn the nuts&bolts of the chip by using C. I'll
use assembler to
> > > write a very simple programs like blinking led or getting data from
> > > A/D converter and etc. The best is assembler as part of completeIDE,> > > but I think it is asking too much.
> > >
> > > - I have only Linux boxes (Debian). Getting Win just to learn the
> > > chip it would be too much. Also, I prefer binary form. By average, I
> > > found that I spend more time to compile the program than to runit. It> > > can be open source (preferred) or reasonably
priced commercial.
> > >
> > > I would greatly appreciate if you can help me to find the best tool
> > > for the job.
> > >
> > > Thanx
> > >
> >
> > It's pretty easy to build the gnu-arm package from www.gnuarm.org. It
> > will include the GNU assembler. All under Linux, of course.
> >
> > I use that package with Eclipse as the IDE and it works very well.
> >
> > However, I think you should write a few things in C just to see what
> > the assembly language looks like. This is NOT your average Z80
> > assembly language. There are a lot of twists, particularly when you
> > are using ARM mode because many instructions can be conditional. This
> > helps keep the pipeline full but it does take some thought.
> >
> > The C startup file (crt.s) is written in assembly language and it is
> > about all I want to see. Maybe a short interrupt routine but that
> > would be about it.
> >
> > Have fun!
> >
> > Richard
> > Thanx for the advise. It looks like that some staff is already
> pre-built for Debian. I'll try to use "as" as a part of binutils. I
> have only one question; how one can download *.hex file into the board
> via rs232? There is a loader from Philips, but I haven't seen anything
> for Linux. Do you know about any loader for Linux? Or should I use
> Wine or other emulator?
>
> Gardner
>No problem! Just get lpc21isp here:http://sourceforge.net/projects/lpc21isp/

Richard

Reply by Mukund Deshmukh●October 3, 20062006-10-03

> via rs232? There is a loader from Philips, but I
haven't seen anything
> for Linux. Do you know about any loader for Linux? Or should I use
> Wine or other emulator?

--- In l..., "ispgardner" wrote:
...> - I need only assembler and loader. I would miss the
point to try to
> learn the nuts&bolts of the chip by using C. I'll use assembler to
> write a very simple programs like blinking led or getting data from
> A/D converter and etc. The best is assembler as part of complete IDE,
> but I think it is asking too much.

I agree with Richard, you should use C.
All nuts&bots of the chip can be tightened with C code and if you look
at some of the example code provided by some companies/individuals and
in the file section if this yahoo! group you'll find there are ready to
use include files with all defines for the different peripherals that
are bolted onto the ARM.

You could have a look athttp://www.myvoice.nl/electronics/timing-programs.php
, that page
contains some code that I used to measure timing in the lpc2106 and it's
a simple start when testing your own stuff. The program contains the
lpc2xxx.h file which includes defines for the peripherals that are found
in many of the lpc21xx variants and a make environment based on the gnu
tools with lpc21isp as download tool.
Note: the environment is set to compile (and load) the program into RAM
so there is no need to reprogram the flash every time you want to try
out some code.

I have heard this was available free online at one stage, though I
suspect illegally.

Another good source of info is the PDF document in the ZIP file
gcc_and_ucosii.zip in the Files section of this group, which despite
its name is useful even if you don't use either tool.

If you have all three, it'll be more than enough to keep you
going....

Reply by Dominic Rath●October 8, 20062006-10-08

On Sunday 08 October 2006 14:35, Brendan Murphy wrote:> The standard reference is the "ARM ARM", see:
>
> http://www.arm.com/documentation/books/1183.html
>
> I have heard this was available free online at one stage, though I
> suspect illegally.

It's still available on arm.com, you just have to search a bit. Starting at
arm.com, four clicks to the EULA, which has an "I Agree" button that gets you
to the download link.

It's part of the resources for Connected Community -> ARM University Program,
but seems to be open to anyone.