PLEASE help me understand the different ARM toolchains

OP #1173646
Rate this post
• ▲ useful
▼ not useful
Hi, i´m Alex from Argentina. This is my first post here :)
I´m confused about the different ARM toolchains out there, i´ll first
tell you the situation and then the question.

I have this situation: I need to write some firmware for an AT91SAM7S256
on a AT91SAM7SEK board. I need a functiong CDC implementation to connect
to the host as  virtual COM and then write the rest of the application.
Now, the problem is this: I´m using KEIL uVision 3.10 evaluation
version, (it´s the only one you get for free) with the KEIL provided GCC
3.3.1 toolchain (in the 3.10 version you can´t substitute the toolchain
or i haven´t found out yet, there´s no toolchain prefix option).
I downloaded from Atmel the USB "CDC Driver Implementation  (Application
Note, 20 pages, revision A, updated 10/06)" but i can´t get it working
(http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4092). I´m
trying to do a Keil Project with the source files I downloaded, but the
source code doesn´t seem compatible, there are some things that choke
the compiler (for example, there are definition and redefinition of
typedefs).

So here I am, is there a port of this firmware I can use with
GCC+uClibc? If there´s not, how can i port it? Is it too much work? What
are the differences? The bad thing is that everyone seems to use the
GCC+newlib toolchain but KEIL. I´m really stuck here, I´m listening for
any solution. The only requirement here is that i really need to use
KEIL for it´s simulator, the app is a COMM bridge and without a
simulator i don´t know how to debug it.

Please help me, i really need to start working on this.

Regards,
Alex from Argentina.
Moderator #1173647
Rate this post
• ▲ useful
▼ not useful
Alejandro Celery wrote:
> I need a functiong CDC implementation to connect
> to the host as  virtual COM and then write the rest of the application.
> Now, the problem is this: I´m using KEIL uVision 3.10 evaluation
> version, (it´s the only one you get for free)
Semi-Off-Topic: Check the license of the eval-version, it might be too
restrictive if it's a commercial project.

> with the KEIL provided GCC 3.3.1 toolchain
This is very old, I recommend not to use it if possible.

> (in the 3.10 version you can´t substitute the toolchain
> or i haven´t found out yet, there´s no toolchain prefix option).
Are you sure? I have just started the 3.11 eval-version and the path and
prefix-setting is still there. I have only tried with the
"arm-glue"-package available from my web-pages. As far as I know the
parameters used by uvision to call the gnu tools only work for their
special package.

> I downloaded from Atmel the USB "CDC Driver Implementation  (Application
> Note, 20 pages, revision A, updated 10/06)" but i can´t get it working
> (http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4092).
IRC a newer version of a CDC code from Atmel is available in the
software-package softpack-1.3-at91sam7s-ek-web.zip, search at91/software
at atmel.com. There seems to be a gcc-version included. I have not
tested this so far.

> I´m trying to do a Keil Project with the source files I downloaded, but the
> source code doesn´t seem compatible, there are some things that choke
> the compiler (for example, there are definition and redefinition of
> typedefs).
Yes, the old code is a little strange in this. I don't know if it has
been modified in the new code. Try the newer code from the 1.3 softpack
first.

> So here I am, is there a port of this firmware I can use with
> GCC+uClibc?
Semi-Off-Topic 2: Check the uClibc-license

> If there´s not, how can i port it? Is it too much work? What
> are the differences?
I have done some porting of the old Atmel CDC-code which is available
from my web-pages but I suggest to try the new Atmel code first. I
expect Atmel provides a "gcc-compatible" version now.

> The bad thing is that everyone seems to use the GCC+newlib toolchain but KEIL.
I do not understand this either. Did you try with the Codesourcery G++
lite package? Maybe it's supported "out of the box" by uvision since
Keil is an ARM company and ARM pays Codesourcery to improve the GNU
tools for ARM AKAIK.

> I´m really stuck here, I´m listening for any solution. The only
> requirement here is that i really need to use
> KEIL for it´s simulator, the app is a COMM bridge and without a
> simulator i don´t know how to debug it.
I did not know that the simulator can already simulate USB. But yes, the
simulator is the best thing in uvision. But you can always debug in real
hardware with a JTAG-interface either with the uvision-Eval and it's
supported interfaces or with a reather cheap or free solution like NoICE
or Eclipse+OpenOCD

Anyway I expect a better place to ask about all this is the Keil
support-forum.

Reply

Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.

Formatting
  • [c]C-Code[/c]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]
  • [[Title]] – link to an article
  • Link to another post: right-click its post ID (#8078628), copy the address, paste it into the text

More about formatting

Post long source code as an attachment, not in the text.

Already registered? Log in

Not shown to anyone. We send you a link; your post appears once you confirm it there.

By submitting you create a free account and accept the terms of use.