Forums

Trouble with LPC2148 (first project)

Started by nic...@... September 11, 2005
Dear lpc2000@lpc2...,

I would like to use the LPC2148 for a C project, but I can't get any
program to run on the processor. This is my first time using the ARM
microcontrollers.

I am using the GNUARM toolchain with GCC to write and compile code and the
Philips LPC2000 Flash Utility v2.2.2 to upload the hex files to the flash.
I am using the IAR KS2148 Kickstart Kit for LPC214x (w/ LPC2148) hardware
(made by Olimex).

I have uploaded many different hex files to the processor. Some hex files
I have downloaded from the internet "Compare Flash" OK after uploading,
but hex files I have compiled do not. I think this is because the local
copy has a NOP at address 0x14 and the flash copy has a checksum generated
by the flash utility at this address.

I have followed the "ARM Cross Development with Eclipse" PDF tutorial by
Jim Lynch which includes an example program using the GNUARM toolchain and
GCC for LPC2106. I made some modifications and tried to use the example
for LPC2148 (specifically, I used an lpc214x.h header file from a Keil
example, changed the IODIR, IOSET, IOCLR instructions to IODIR0, IOSET0,
IOCLR0 and increased the flash size in the linker script). Everything
compiles and uploads as I would expect, but the program does not run when
I take BSL high and reset the processor.

Does anyone know where I can find some example C code for LPC2148 with
header file, startup assembly file, and GNU makefile and linker script?

Failing this, does anyone know where I can find an example hex file to
test that the board and the Philips LPC2000 Flash Utility are working OK?

Kind regards,

Nic



An Engineer's Guide to the LPC2100 Series

The fastest way to get started is with one of the quick start kits from
IAR or Keil. See LPCTools.com. These complete kits of hardware and
demo compilers, JTAG units are $200-300...
That will give you a working code base that you can compile, download,
test and modify. The only restriction is you cannot compile programs
larger than 32K. These are really quite big for most embedded work, so
you may not need to buy the complete compiler for LPC based products.
(My experience is ARM/Thumb code is about the same size as 8051 code, if
that helps you in sizing the problem).
I like the IAR tool set. They have several tiers of products. The
$2000 product is plenty for LPC. (I have the full product). Keil
actually has two compilers: their own and a front end for GNU. While
GNU is priced well, I like the GUI offered by IAR and Keil - I think the
IDE saves time (and I used to be a command line advocate). If you want
to end up in GNU, you might buy one of the Keil development kits.
Buy the quickstart kit of choice. Play with it seriously for a week,
then start thinking about the real design and environment. I tried (and
did) learn ARM starting with GNU and a development board based on ARM
tools. The learning curve was steep and long, even though I have many
years experience in embedded products.
Dan _____

From: lpc2000@lpc2... [mailto:lpc2000@lpc2...] On Behalf
Of nic@nic@...
Sent: Sunday, September 11, 2005 2:39 AM
To: lpc2000@lpc2...
Subject: [lpc2000] Trouble with LPC2148 (first project)
Dear lpc2000@lpc2...,

I would like to use the LPC2148 for a C project, but I can't get any
program to run on the processor. This is my first time using the ARM
microcontrollers.

I am using the GNUARM toolchain with GCC to write and compile code and
the
Philips LPC2000 Flash Utility v2.2.2 to upload the hex files to the
flash.
I am using the IAR KS2148 Kickstart Kit for LPC214x (w/ LPC2148)
hardware
(made by Olimex).

I have uploaded many different hex files to the processor. Some hex
files
I have downloaded from the internet "Compare Flash" OK after uploading,
but hex files I have compiled do not. I think this is because the local
copy has a NOP at address 0x14 and the flash copy has a checksum
generated
by the flash utility at this address.

I have followed the "ARM Cross Development with Eclipse" PDF tutorial by
Jim Lynch which includes an example program using the GNUARM toolchain
and
GCC for LPC2106. I made some modifications and tried to use the example
for LPC2148 (specifically, I used an lpc214x.h header file from a Keil
example, changed the IODIR, IOSET, IOCLR instructions to IODIR0, IOSET0,
IOCLR0 and increased the flash size in the linker script). Everything
compiles and uploads as I would expect, but the program does not run
when
I take BSL high and reset the processor.

Does anyone know where I can find some example C code for LPC2148 with
header file, startup assembly file, and GNU makefile and linker script?

Failing this, does anyone know where I can find an example hex file to
test that the board and the Philips LPC2000 Flash Utility are working
OK?

Kind regards,

Nic
_____

> .
_____


Hi Dan,

Thanks for your recommendation, and I agree for any commercial project
that would be the fastest (and consequently also the cheapest) way to
begin. My preference would be the IAR system and I have already priced it
from our local distributer at AUD590.00 for the LPC2148 KickStart board,
USB JTAG programmer and 32K version of EWARM.

However my decision to use the GNU toolchain is very deliberate, in fact
the ARM processor was selected for this project primarily because of the
availability of the GNU toolchain!

The project is not a commercial project, it is a collaborative project to
design and build an unmanned aerial vechicle (UAV). I expect the design
will ultimately be larger than 32k and with the exception of myself, the
entire design team consists of students so buying multiple fully-fledged
systems from Keil or IAR is not really an option. If we did have a budget
for development tools available we would probably have selected the
Freescale DSP56F803 with CodeWarrior because the DSP architecture is much
more appropriate for the repetitive calculations we require.

Given that I have already resigned to my fate, spending many more hours
learning to use the GNU toolchain than it would take me to earn the money
to buy the IAR system...

Does anyone know where I can find some example C code for LPC2148 with
header file, startup assembly file, and GNU makefile and linker script?

Kind regards,

Nic
_____

From: lpc2000@lpc2... [mailto:lpc2000@lpc2...] On Behalf
Of dan@...
To: lpc2000@lpc2...
Subject: [lpc2000] Trouble with LPC2148 (first project) The fastest way to get started is with one of the quick start kits from
IAR or Keil. See LPCTools.com. These complete kits of hardware and
demo compilers, JTAG units are $200-300...
That will give you a working code base that you can compile, download,
test and modify. The only restriction is you cannot compile programs
larger than 32K. These are really quite big for most embedded work, so
you may not need to buy the complete compiler for LPC based products.
(My experience is ARM/Thumb code is about the same size as 8051 code, if
that helps you in sizing the problem).
I like the IAR tool set. They have several tiers of products. The
$2000 product is plenty for LPC. (I have the full product). Keil
actually has two compilers: their own and a front end for GNU. While
GNU is priced well, I like the GUI offered by IAR and Keil - I think the
IDE saves time (and I used to be a command line advocate). If you want
to end up in GNU, you might buy one of the Keil development kits.
Buy the quickstart kit of choice. Play with it seriously for a week,
then start thinking about the real design and environment. I tried (and
did) learn ARM starting with GNU and a development board based on ARM
tools. The learning curve was steep and long, even though I have many
years experience in embedded products.
Dan _____

From: lpc2000@lpc2... [mailto:lpc2000@lpc2...] On Behalf
Of nic@...
Sent: Sunday, September 11, 2005 2:39 AM
To: lpc2000@lpc2...
Subject: [lpc2000] Trouble with LPC2148 (first project)
Dear lpc2000@lpc2...,

I would like to use the LPC2148 for a C project, but I can't get any
program to run on the processor. This is my first time using the ARM
microcontrollers.

I am using the GNUARM toolchain with GCC to write and compile code and
the
Philips LPC2000 Flash Utility v2.2.2 to upload the hex files to the
flash.
I am using the IAR KS2148 Kickstart Kit for LPC214x (w/ LPC2148)
hardware
(made by Olimex).

I have uploaded many different hex files to the processor. Some hex
files
I have downloaded from the internet "Compare Flash" OK after uploading,
but hex files I have compiled do not. I think this is because the local
copy has a NOP at address 0x14 and the flash copy has a checksum
generated
by the flash utility at this address.

I have followed the "ARM Cross Development with Eclipse" PDF tutorial by
Jim Lynch which includes an example program using the GNUARM toolchain
and
GCC for LPC2106. I made some modifications and tried to use the example
for LPC2148 (specifically, I used an lpc214x.h header file from a Keil
example, changed the IODIR, IOSET, IOCLR instructions to IODIR0, IOSET0,
IOCLR0 and increased the flash size in the linker script). Everything
compiles and uploads as I would expect, but the program does not run
when
I take BSL high and reset the processor.

Does anyone know where I can find some example C code for LPC2148 with
header file, startup assembly file, and GNU makefile and linker script?

Failing this, does anyone know where I can find an example hex file to
test that the board and the Philips LPC2000 Flash Utility are working
OK?

Kind regards,

Nic



Nic
For an example project using the GNU tools, you might want to have a
look at UT050418A.zip in the Files section of this mailing list in
Yahoo.

Regards
-Bill Knight
R O SoftWare &
http://www.theARMPatch.com On Sun, 11 Sep 2005 17:19:54 -0700 (PDT), nic@nic@... wrote:

>Hi Dan,

>Thanks for your recommendation, and I agree for any commercial project
>that would be the fastest (and consequently also the cheapest) way to
>begin. My preference would be the IAR system and I have already priced it
>from our local distributer at AUD590.00 for the LPC2148 KickStart board,
>USB JTAG programmer and 32K version of EWARM.

>However my decision to use the GNU toolchain is very deliberate, in fact
>the ARM processor was selected for this project primarily because of the
>availability of the GNU toolchain!

>The project is not a commercial project, it is a collaborative project to
>design and build an unmanned aerial vechicle (UAV). I expect the design
>will ultimately be larger than 32k and with the exception of myself, the
>entire design team consists of students so buying multiple fully-fledged
>systems from Keil or IAR is not really an option. If we did have a budget
>for development tools available we would probably have selected the
>Freescale DSP56F803 with CodeWarrior because the DSP architecture is much
>more appropriate for the repetitive calculations we require.

>Given that I have already resigned to my fate, spending many more hours
>learning to use the GNU toolchain than it would take me to earn the money
>to buy the IAR system...

>Does anyone know where I can find some example C code for LPC2148 with
>header file, startup assembly file, and GNU makefile and linker script?

>Kind regards,

>Nic
>_____

>From: lpc2000@lpc2... [mailto:lpc2000@lpc2...] On Behalf
>Of dan@...
>To: lpc2000@lpc2...
>Subject: [lpc2000] Trouble with LPC2148 (first project)


>The fastest way to get started is with one of the quick start kits from
>IAR or Keil. See LPCTools.com. These complete kits of hardware and
>demo compilers, JTAG units are $200-300...
>That will give you a working code base that you can compile, download,
>test and modify. The only restriction is you cannot compile programs
>larger than 32K. These are really quite big for most embedded work, so
>you may not need to buy the complete compiler for LPC based products.
>(My experience is ARM/Thumb code is about the same size as 8051 code, if
>that helps you in sizing the problem).
>I like the IAR tool set. They have several tiers of products. The
>$2000 product is plenty for LPC. (I have the full product). Keil
>actually has two compilers: their own and a front end for GNU. While
>GNU is priced well, I like the GUI offered by IAR and Keil - I think the
>IDE saves time (and I used to be a command line advocate). If you want
>to end up in GNU, you might buy one of the Keil development kits.
>Buy the quickstart kit of choice. Play with it seriously for a week,
>then start thinking about the real design and environment. I tried (and
>did) learn ARM starting with GNU and a development board based on ARM
>tools. The learning curve was steep and long, even though I have many
>years experience in embedded products.
>Dan


>_____

>From: lpc2000@lpc2... [mailto:lpc2000@lpc2...] On Behalf
>Of nic@...
>Sent: Sunday, September 11, 2005 2:39 AM
>To: lpc2000@lpc2...
>Subject: [lpc2000] Trouble with LPC2148 (first project)
>Dear lpc2000@lpc2...,

>I would like to use the LPC2148 for a C project, but I can't get any
>program to run on the processor. This is my first time using the ARM
>microcontrollers.

>I am using the GNUARM toolchain with GCC to write and compile code and
>the
>Philips LPC2000 Flash Utility v2.2.2 to upload the hex files to the
>flash.
>I am using the IAR KS2148 Kickstart Kit for LPC214x (w/ LPC2148)
>hardware
>(made by Olimex).

>I have uploaded many different hex files to the processor. Some hex
>files
>I have downloaded from the internet "Compare Flash" OK after uploading,
>but hex files I have compiled do not. I think this is because the local
>copy has a NOP at address 0x14 and the flash copy has a checksum
>generated
>by the flash utility at this address.

>I have followed the "ARM Cross Development with Eclipse" PDF tutorial by
>Jim Lynch which includes an example program using the GNUARM toolchain
>and
>GCC for LPC2106. I made some modifications and tried to use the example
>for LPC2148 (specifically, I used an lpc214x.h header file from a Keil
>example, changed the IODIR, IOSET, IOCLR instructions to IODIR0, IOSET0,
>IOCLR0 and increased the flash size in the linker script). Everything
>compiles and uploads as I would expect, but the program does not run
>when
>I take BSL high and reset the processor.

>Does anyone know where I can find some example C code for LPC2148 with
>header file, startup assembly file, and GNU makefile and linker script?

>Failing this, does anyone know where I can find an example hex file to
>test that the board and the Philips LPC2000 Flash Utility are working
>OK?

>Kind regards,

>Nic