EmbDev.net

Forum: ARM programming with GCC/GNU tools Where to start with ARMx please.


von Ian K. (imk)


Rate this post
useful
not useful
Hello, I know this is rather a big question but please beware with as I
have know one to talk to about this subject, hence feel free to wade in
with some very basic or advanced advice.

So I have years and years of C and C++ on many platforms, from embedded
Z80, PC’s and VAXs etc. Also I have a little recent experience of
Embedded Rabbit and there C and IDE environment.

So I want/need to start working with ARMx and I guess ARM7 would make a
good entry point considering the research I have done and the
cost/variety of development boards there are out there.

The big question I have is  what low cost/free development tools are
there out there that have an GUI-IDE with them for ARM and what OS does
the ARM development board run it’s own?, uLinux, RTOS etc??

So if there is someone out there that can point me in the direction of a
basic development board with some ADC’s and LCD interface also the
development tools suit I would much appreciate it. Once I am rolling I
know I’ll pick up speed but picking my way through the mass of stuff out
there is a nightmare.

Many thanks in advance IMK

von Stefan (Guest)


Rate this post
useful
not useful
Different approach:

Pick some real ARM7 project from the internet which is interesting
enough to build and to play with for the next few weeks/months.

Normally the autor gives hints about the tools required (WinARM,
GnuARM/Cygwin, Yagarto/Eclipse to name a few free toolchains on Windows
host).

Learn how to use the tools (IDE, compiler, debugger, programmer,
debugger device) and the µC in this first-tryout project.

Then decide what to do next in own projects.

Stefan

von Ian K. (imk)


Rate this post
useful
not useful
Stefan wrote:
> Different approach:
>
> Pick some real ARM7 project from the internet which is interesting
> enough to build and to play with for the next few weeks/months.
>
> Normally the autor gives hints about the tools required (WinARM,
> GnuARM/Cygwin, Yagarto/Eclipse to name a few free toolchains on Windows
> host).
>
> Learn how to use the tools (IDE, compiler, debugger, programmer,
> debugger device) and the µC in this first-tryout project.
>
> Then decide what to do next in own projects.
>
> Stefan

Many thanks Stefan.
In my research I have found the following items that fit the buget, but
I am nevus that what I buy will not have the tools and simple won't work
or just be a minefield try to get it going. Again many thanks IMK
http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&ih=020&sspagename=STRK%3AMEWA%3AIT&viewitem=&item=300049234340&rd=1&rd=1

http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=300052442762&ssPageName=MERC_VIC_RSEE_Pr4_PcY_BIN_Stores_IT&refitem=300049234340&itemcount=4&refwidgetloc=closed_view_item&usedrule1=UpSell_LogicX&refwidgettype=cross_promot_widget

von Stefan (Guest)


Rate this post
useful
not useful
These boards are from Bangkok, Thailand (nice town, very nice country).
I have seen them in ebay.de too, but never met anyone in the forums who
uses one.

I would try to contact some buyers of one of these boards before a
purchase. Or i could try to get some sort of documentation (quick
manual) from the seller to evaluate the quality of the documentation.

And i think you can get similar boards from a dealer in your country for
almost the same price, when you calculate the package price (board
(US$35-50), shipment (US$10-25) and perhaps international money transfer
(Paypal fee?)).

Stefan

von Martin Thomas (Guest)


Rate this post
useful
not useful
Ian Knight wrote:

> 
http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&ih=020&sspagename=STRK%3AMEWA%3AIT&viewitem=&item=300049234340&rd=1&rd=1

The ADUC 7000 have a rather good internal ADC with 12bit ADC. But IRC
they do not offer an Interrupt-Controller (like the VIC in LPC2000s or
AT91 AIC). This might be nice for the beginning since the interrupt
handling is easier but also not that flexible. The PLA in the ADUC ARMs
is a feature I have not seen on other ARM-controllers so far. While
there are ready-made examples available for ADUC7000 from the
ADI-website you might find more "getting started" examples for the
LPC2000- and the AT91SAM7-series on manufacturers Website or in "the
net". Take a look at the evaluation-board available from IAR, Keil,
Propox, Olimex, embest, Embedded-Artist too (to name a few).

> 
http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=300052442762&ssPageName=MERC_VIC_RSEE_Pr4_PcY_BIN_Stores_IT&refitem=300049234340&itemcount=4&refwidgetloc=closed_view_item&usedrule1=UpSell_LogicX&refwidgettype=cross_promot_widget

This seems to be a clone of the Keil ULINK"1". As far as I know the
Keil-IDE (uVision) is the only software which can access this interface.
The Keil-IDE is nice and easy to use but if you want to develop
commercial applications or if your hobby-projects need more then 16kByte
you have to buy the commercial license. If you want to use
"open-source"-tools like gdb/Insight-gdb/Eclipse+gdb get a FT2232-based
interface (for Amontec, Olimex, Signalyzer and others). OpenOCD supports
this type of interfaces. There is a J-LINK (AT91-only OEM version:
SAM-ICE (cheaper), OEM version from IAR too). A lot of commercial IDEs
support this hardware (native or thru RDI) and there is even a
gdb-server for it. Read the descriptions closely esp. the difference
between SAM-ICE and J-LINK in terms of supported devices (limited with
SAM-ICE) and included licenses (not sure but AKAIK the flash and
RDI-license is already included with the SAM-ICE).

You could even start with a Wiggler if your PC stills has a
parallel-port and use OpenOCD (gdb-server) or H-JTAG (rdi-server) as
interface to the debugging software.

Martin Thomas

von Ian K. (imk)


Rate this post
useful
not useful
Martin, many thanks for your input.
But you see this is where I simply can not see the wood for the trees.
I have looked at many of these site (IAR, Keil etc) and they all seem to
have nice low cost get you going (kickstart kits) However when it come
to writing an application of any size they all seem to limited, so you
have to buy in to a four figure development enviroment.

What I have in mind for my fist project is a data loga for a three axis
accelerometer, hence I need some ADC input, a good few K of RAM, and a
host upload port Enet or USB or even rs232 would do at a push.

Also I would like a set of development tools that are portable to other
boards/project so I can aviod the learning curve.

And as far as ULINK"1", SAM-ICE and J-LINK etc which way to go for
debuggers that are also not going to incure an initial large investment.

One card that I think would be a good start for me is the ST Micro
STDV710 Evaluation board, from
http://www.computer-solutions.co.uk/chipdev/embestevb.htm. But are there
any shareware/GNU development tools for this. I have downloaded WinArm
but I havent made head nor tail of it yet.

Again many thanks for all the advice and please do not stop.
Many thanks in advance IMK

von Martin Thomas (Guest)


Rate this post
useful
not useful
Ian Knight wrote:
> Martin, many thanks for your input.
> But you see this is where I simply can not see the wood for the trees.
> I have looked at many of these site (IAR, Keil etc) and they all seem to
> have nice low cost get you going (kickstart kits) However when it come
> to writing an application of any size they all seem to limited, so you
> have to buy in to a four figure development enviroment.

You could use the Rowley IDE. The GNU compiler is working in the
background but is hidden behind a user-friendly IDE. (I have not used
the Rowley tools, so I can not provide further details). You also get a
integrated debugging-software.

> What I have in mind for my fist project is a data loga for a three axis
> accelerometer, hence I need some ADC input, a good few K of RAM, and a
> host upload port Enet or USB or even rs232 would do at a push.

Since you are starting with ARM-controllers stay with RS232 first, it's
much easier. USB is not that difficult if you have some example codes
but difficult if you want to write the USB code from scratch. Put Enet
last on your TODO list.   A lot of controllers offer integrated ADC
converters and accessing them is rather easy.

For a short-term measurement RAM will do. Even "small" ARM7 offer some
kBytes. If you want to store data  "permanently" you could use external
ICs like Atmel's Dataflash's or a MMC/SD-Card. Both can be connected
easily to the SPI-interface of the controller and some source-code is
available as template for own developments.

> Also I would like a set of development tools that are portable to other
> boards/project so I can aviod the learning curve.

This should be no problem. If the tools support the ARM7TDMI code you
can use them for all devices with this core (same for other cores). Most
"cheap" controller are based on this core.

> And as far as ULINK"1", SAM-ICE and J-LINK etc which way to go for
> debuggers that are also not going to incure an initial large investment.

You may start with a Wiggler(-clone) interface. IAR, Rowley and gdb
(thru OpenOCD) support it. Its rather cheap and you can buy something
better/faster/with USB later. Stay away from ULINK/NLINK if you don't
want to use the Keil tools. I don't know if the SAM-ICE can be upgraded
to support non-Atmel ARM7. So ask Segger if you want to use a non-AT91
(I don't think the Atmel support will answer on the question). I have a
J-Link but have to admit that I have not used it enough to comment on
it.

> One card that I think would be a good start for me is the ST Micro
> STDV710 Evaluation board, from
> http://www.computer-solutions.co.uk/chipdev/embestevb.htm. But are there
> any shareware/GNU development tools for this. I have downloaded WinArm
> but I havent made head nor tail of it yet.

I understand that WinARM is a little confusing in the beginning since
it's meant for people who already know a little bit about handling the
gnu-tools. IDEs like Eclipse, the one from Rowley, Anglia use the same
tools in the background "envelop" them in a GUI.

For a start I would suggest that you get a ready-made Evaluation Board
with an NXP LPC2148 or AT91SAM7S256. You can learn how to handle
controllers with ARM7TDMI core with them, both offer USB for later. I
can not recommend one of them. For the very start the LPCs might be
easier since the serial bootloader is easier to use than the one in the
AT91. But if you have a JTAG hardware and supporting software it does
not matter. I like the AT91SAM PDC. There is a rather good Tutorial from
Jim Lynch for the AT91SAM7 read this tutorial. If you want to follow the
tutorial get a board with an AT91SAM7S (from IAR, Propox, Olimex
Atmel...).

There are a lot of examples available for both families (some examples
in WinARM but a lot more at other places).

> Again many thanks for all the advice and please do not stop.

Sorry, no real "final advice" from my side. I think you simply have to
jump into the water with a evaluation-Board and try the Rowley-Software
or the software described in Jim Lynch's tutorial. Also take a look at
Michael Fischer's Yagarto collection, he offers some instructions on his
web-pages.


> Many thanks in advance IMK

Hope this helps,
Martin Thomas

von Witold K. (wkaczurba)


Rate this post
useful
not useful
Ian Knight wrote:
> Hello, I know this is rather a big question but please beware with as I
> have know one to talk to about this subject, hence feel free to wade in
> with some very basic or advanced advice.
>
> So I have years and years of C and C++ on many platforms, from embedded
> Z80, PC’s and VAXs etc. Also I have a little recent experience of
> Embedded Rabbit and there C and IDE environment.
>
> So I want/need to start working with ARMx and I guess ARM7 would make a
> good entry point considering the research I have done and the
> cost/variety of development boards there are out there.
>
> The big question I have is  what low cost/free development tools are
> there out there that have an GUI-IDE with them for ARM and what OS does
> the ARM development board run it’s own?, uLinux, RTOS etc??
>
> So if there is someone out there that can point me in the direction of a
> basic development board with some ADC’s and LCD interface also the
> development tools suit I would much appreciate it. Once I am rolling I
> know I’ll pick up speed but picking my way through the mass of stuff out
> there is a nightmare.
>
> Many thanks in advance IMK

Hello,

I have made small tutorial on ADuC7000, to help people using this
microcontroller. It is on www.kaczurba.pl/aduc
I hope you will find this useful - please send me any suggestions - on
what can I put. I realize that this is only short, and briefly overview,
but hope - it can be useful for anybody, that wants use this powerful
uC.

Best regards,
Witold

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.