EmbDev.net

Forum: ARM programming with GCC/GNU tools PLEASE help me understand the different ARM toolchains


von Alejandro C. (alexargentina)


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.

von Martin T. (mthomas) (Moderator)


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.

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.