EmbeddedRelated.com
Forums

Introduction New to ARM

Started by nerdinrage February 5, 2009
This is Me
http://www.linkedin.com/in/davidrwilcox

I am currently working on my Graduate thesis. I chose an ARM7 core
processor, LPC2148, for my project. I was wondering what the best
free/ish compiler loader out there is. I have used Atmel 8051 with
AVR Studio. I was looking for something comprable so I could watch
ports and debug while building programs. Any suggestions?

I have more specific questions about the embedded artist board I
purchased. Like...

Is it possible to program using USB as a power source?
I have the LPC2000 flash utility and I am unable to find the device.
I am also using a USB to com port dongle... I'm guessing that is the
source of my problem.
Has anyone used an adapter to flash the controller?

Part of the project is a data acquisition system, I had to move to a
uC from an I2C to USB bridge to be able to buffer the data from the
I2C DAQ chip... apparently I can only commit to 1 usb transaction
every 4ms which is to slow for my aplication. Is there a better uC
with usb and I2C out there. I kind of jumped on this embedded artist
board and I am wondering if it was the right choice. My application
should not be that big and there are 3 main parts... communication
via usb, setting the daq values, and reading/buffering the daq chip
(semtech sx 8724). I have found an API for the host side and a usb
project on wiki http://wiki.sikken.nl/index.php?title=LPCUSB ,
embedded artists has api/headers for the i2c transactions... I'm just
wondering what kind of advice seasoned professionals could give me.

Thanks alot

David

An Engineer's Guide to the LPC2100 Series

nerdinrage ha scritto:
>
> This is Me http://www.linkedin.com/in/davidrwilcox
> I am currently working on my Graduate thesis. I chose an ARM7 core
> processor, LPC2148, for my project. I was wondering what the best
> free/ish compiler loader out there is. I have used Atmel 8051 with
> AVR Studio. I was looking for something comprable so I could watch
> ports and debug while building programs. Any suggestions?
I see you are using Embedded Artists board, usually they sell boards
with a CD plent of useful code, utilities and so on.
This could be a starting point. An other opportunity is www.olimex.com
in the ARM section. You may google searching eclipse and ARM. To debug
the cheapest solution is to use gdb plus a sw to interface it to the
choosen ide; you may build yourself the parallel port to jtag interface
or you may buy for example from Olimex a cheeper one (they have some
models).
>
> I have more specific questions about the embedded artist board I
> purchased. Like...
>
> Is it possible to program using USB as a power source?
I have an EA LPC2138 board and it has a separate power connector, in any
case it depends by the board and the PC. An usb ort may deliver 500mA
but this isn't always true expecially if you are using a notebook.
I have the
> LPC2000 flash utility and I am unable to find the device. I am also
> using a USB to com port dongle... I'm guessing that is the source of
> my problem. Has anyone used an adapter to flash the controller?
Yes, I normally use with my notebook and I have no problems with it. It
uses an FTDI chip and driver, if may help you check your driver.
>
> Part of the project is a data acquisition system, I had to move to a
> uC from an I2C to USB bridge to be able to buffer the data from the
> I2C DAQ chip... apparently I can only commit to 1 usb transaction
> every 4ms which is to slow for my aplication.
You may find useful documentatio on Lakeview Research site, Jan Axelson
is a good book author with 2 or 3 usb good books.
Is there a better uC
> with usb and I2C out there. I kind of jumped on this embedded artist
> board and I am wondering if it was the right choice.
To me it is ok the cpu and also the board. Probably you just need to
change the usb transfer type to isochronous but you have to check
better, I didn't work so much with usb and LPC2148 usb driver.
My application
> should not be that big and there are 3 main parts... communication
> via usb, setting the daq values, and reading/buffering the daq chip
> (semtech sx 8724). I have found an API for the host side and a usb
> project on wiki http://wiki.sikken.nl/index.php?title=LPCUSB
this is good I used it in the past.
> , embedded artists has
> api/headers for the i2c transactions... I'm just wondering what kind
> of advice seasoned professionals could give me.
Also this is ok, you can also download eCos source code and study its
i2c driver, it is a good starting point and also NXP app. notes and
samples are ok.
>
> Thanks alot
>
> David
>
>



On Thu, 5 Feb 2009, nerdinrage wrote:

> I was wondering what the best free/ish compiler loader out there is.

I personally build my own using Crosstool-NG.

> Is it possible to program using USB as a power source?

Yeah. I built a USB device for a client that was USB-bus powered. In
fact, the Keil LPC214X boards are USB-powered.

> I am also using a USB to com port dongle... I'm guessing that is the
> source of my problem.

Nah, that's exactly how I do it. If you're using lpc2k_pgm, make sure
your P0.14 and nRESET lines are connected properly.

> Part of the project is a data acquisition system, I had to move to a
> uC from an I2C to USB bridge to be able to buffer the data from the
> I2C DAQ chip... apparently I can only commit to 1 usb transaction
> every 4ms which is to slow for my aplication.

With a CPU clock of 60MHz? Huh ....

-Kenny

--
Kenneth R. Crudup Sr. SW Engineer, Scott County Consulting, Los Angeles
O: 3630 S. Sepulveda Blvd. #138, L.A., CA 90034-6809 (888) 454-8181
Hi David,

> I am currently working on my Graduate thesis. I chose an ARM7 core
> processor, LPC2148, for my project. I was wondering what the best
> free/ish compiler loader out there is.

For the program you want to write I expect all available Tool should
be good enough, because you won't hit any limits.

> I have used Atmel 8051 with
> AVR Studio. I was looking for something comprable so I could watch
> ports and debug while building programs. Any suggestions?

Yes, stay on Atmels AVR Studio, look about

http://www.obdev.at/products/avrusb/index.html

> Is it possible to program using USB as a power source?

I use a samsung E-720 USB-phone-cord, that works well. I get 5V
supply and the UART-Lines in 3V3 levels all I need to work.
OK for debugging there is a JTAG more suitable. I prefer this one:

http://shop.embedded-projects.net/product_info.php/info/p75_OpenOCD-
USB-Adaptor.html

because it includes UART and JTAG in one USB-Port, is cheap, well
documented...

> Part of the project is a data acquisition system, I had to move to
a
> uC from an I2C to USB bridge to be able to buffer the data from the
> I2C DAQ chip... apparently I can only commit to 1 usb transaction
> every 4ms which is to slow for my aplication. Is there a better uC
> with usb and I2C out there.

As noted before. This should be easily done with AVR

Good luck

Martin

nerdinrage wrote:
> Part of the project is a data acquisition system, I had to move to a
> uC from an I2C to USB bridge to be able to buffer the data from the
> I2C DAQ chip... apparently I can only commit to 1 usb transaction
> every 4ms which is to slow for my aplication.

The question this immediately raises for me is: Why are you building a
data acquisition system rather than buying one off the shelf?

Robert

--
http://www.aeolusdevelopment.com/

From the Divided by a Common Language File (Edited to protect the guilty)
ME - "I'd like to get Price and delivery for connector Part # XXXXX"
Dist./Rep - "$X.XX Lead time 37 days"
ME - "Anything we can do about lead time? 37 days seems a bit high."
Dist./Rep - "that is the lead time given because our stock is live....
we currently have stock."
Am Freitag, 6. Februar 2009 schrieb Robert Adsett:
> The question this immediately raises for me is: Why are you building a
> data acquisition system rather than buying one off the shelf?
>
> Robert

The question this immediately raises for me is: did you read what he wrote?

"I am currently working on my Graduate thesis."
"Part of the project is a data acquisition system, ..."

That question of mine could also be extended to: Why are we on this list, and
dont buy all the funky stuff we see on the shelf's out there?

;-)

Greetings,

Chris
Christian Klippel wrote:
> Am Freitag, 6. Februar 2009 schrieb Robert Adsett:
>> The question this immediately raises for me is: Why are you building a
>> data acquisition system rather than buying one off the shelf?
>
> The question this immediately raises for me is: did you read what he wrote?

Yes, For a graduate project I would expect the data acquisition system
to be a means to an end, not an end to itself. The important part
should be the rest of the project.

> That question of mine could also be extended to: Why are we on this list, and
> dont buy all the funky stuff we see on the shelf's out there?

I don't know about you, but the systems I work on generally cannot be
bought off the shelf.

Robert

--
http://www.aeolusdevelopment.com/

From the Divided by a Common Language File (Edited to protect the guilty)
ME - "I'd like to get Price and delivery for connector Part # XXXXX"
Dist./Rep - "$X.XX Lead time 37 days"
ME - "Anything we can do about lead time? 37 days seems a bit high."
Dist./Rep - "that is the lead time given because our stock is live....
we currently have stock."
I'm not sure I really understand what you are asking so if this reply
is way off, ignore it.

If you are developing under WinXP, get YAGARTO and all the associated
tools. It is a complete development environment and IDE. There is a
debugger but you need some kind of JTAG device. Look over at
www.sparkfun.com The debugger is OpenOCD

Debugging by looking at registers is a complete waste of time with
uC's at this level. You do not want to get involved with ARM
assembly code. Just get your serial IO working and use console IO.

If you are developing under Linux, get GNUARM. You can build from
source or you MIGHT be able to get something preconfigured. I would
and do build from source. Go to www.gnuarm.org (NOT www.gnuarm.com)
to get the sources and the instructions are under the Support tab.

You need some demo code. Try www.jcwren.com/arm Just about
everything you could possibly need is in this project.

Check out the newlib subdirectory in the jcwren project. This is how
you get the high level C library to work.

There is a bunch of USB code including mass storage and a serial
device.

Richard

--- In l..., "rtstofer" wrote:
>
> I'm not sure I really understand what you are asking so if this
reply
> is way off, ignore it.
>
> If you are developing under WinXP, get YAGARTO and all the
associated
> tools. It is a complete development environment and IDE. There is
a
> debugger but you need some kind of JTAG device. Look over at
> www.sparkfun.com The debugger is OpenOCD
>
> Debugging by looking at registers is a complete waste of time with
> uC's at this level. You do not want to get involved with ARM
> assembly code. Just get your serial IO working and use console IO.
>
> If you are developing under Linux, get GNUARM. You can build from
> source or you MIGHT be able to get something preconfigured. I
would
> and do build from source. Go to www.gnuarm.org (NOT
www.gnuarm.com)
> to get the sources and the instructions are under the Support tab.
>
> You need some demo code. Try www.jcwren.com/arm Just about
> everything you could possibly need is in this project.
>
> Check out the newlib subdirectory in the jcwren project. This is
how
> you get the high level C library to work.
>
> There is a bunch of USB code including mass storage and a serial
> device.
>
> Richard
>

I might add that under Linux it is convenient to use either the
command line or a complete IDE like Eclipse. Use the version for
C/C++ Development here: http://www.eclipse.org/downloads/

Richard

On Fri, 6 Feb 2009, rtstofer wrote:

> Debugging by looking at registers is a complete waste of time with
> uC's at this level. You do not want to get involved with ARM
> assembly code.

True, it's probably not for *newbies*, but I get a *lot* done with a
JTAG (BDI2000) and an ARM instruction cheat-sheet when the isht hits
the fan :)

-Kenny

--
Kenneth R. Crudup Sr. SW Engineer, Scott County Consulting, Los Angeles
O: 3630 S. Sepulveda Blvd. #138, L.A., CA 90034-6809 (888) 454-8181