|
|||||||||||||||||||||||||||||||||||||||||||
|
Initially I was searching for a toolchain with the following features:
I found some native Windows toolchains based on MinGW, but the GDB of these toolchains doesn't work properly under Eclipse. That's why I decide to create a new toolchain suited for my requirements. YAGARTO was born (in 2006). YAGARTO is divided in three packages with the following components:
Zylin made some modifications in Eclipse CDT and a plugin to improve support for GDB embedded debugging in CDT. At the beginning a windows version was available only, now a Mac OS X version is available too. By the way, Cortex-M3 will now be supported too. YAGARTO is a hobby project and supported only by the community. If you want a faster start, a smoother workflow and professional support, take a look at a commercial toolchain like CrossWorks for ARM. It is not allowed to distribute binary version of OpenOCD, which is linked to the proprietary library FTD2XX provided by FTDI. If you need support for the Turtelizer 2 JTAG Adapter and Ethernut, take a look here. Therefore I will use the J-Link EDU device under windows now. Some tutorials about installation and use of the software can be found at the "how to" pages . The packages of YAGARTO can be found here:
The Windows installer was created with NSIS (Nullsoft Scriptable Install System). The NSIS installer from the version before had a problem if your path was longer than 1024 characters. In this case it could be possible that the path was corrupted. This should be relaxed with this version where the path limitation is 8192 characters. If you like to take a look at the source from the toolchain, no problem, take a look here. Older software versions of the toolchain can be found at SourceForge. Tested on Mac OS X Leopard (10.5.6, Intel based only):
The installer was created with DropDMG and 7zX. If you like to take a look at the source from the toolchain, no problem, take a look here. Older software versions of the toolchain can be found at SourceForge. In case you get some linker errors like: error: no memory region specified for loadable section `.eh_frame' you must add the following part to your linker script: . = ALIGN(4); The examples you can find at the howto pages was updated too. James P. Lynch has updated his great tutorial "Using Open Source Tools for AT91SAM7S Cross Development, Revision C". This tutorial is based on YAGARTO, and can be found at the Atmel web site (tutorial + sample projects, 13 MB). A new tutorial "AT91SAM7 Serial Communications" is available from James P. Lynch too. He explains how to setup the USART from the SAM7 using the GCC tools. The tutorial and examples will be hosted by SparkFun. Even you can find a very good tutorial for the STR7xx "Using Open Source Tools for STR7xx Cross Development" form Giacomo Antonino Fazio and A good tutorial about "Building Bare-Metal ARM Systems with GNU" from Miro Samek dealing with the Startup Code, Low-level Initialization and the Linker Script can be found in Part2 and Part3 at Embedded.com. If you have problems with the AT91 Software Packages from Atmel, take a deeper look at the makefile from the examples. I have tested the following GNU packages:
Here double check the following variables:
If you have set correct these variables and it will not compile, you have used the wrong compiler. Atmel assume you are using an eabi compiler and not a normal one like YAGARTO. In this case the variable CROSS_COMPILE must be changed, or you must use e.g. the CodeSourcery compiler. If you change CROSS_COMPILE like CROSS_COMPILE = arm-elf- it should work with YAGARTO too. If you need support, take a look here: The GNU software is covered by the GNU GPL and/or LGPL licenses. Newlib is covered by several licenses, please read the code of each particular package in the source distribution for copyright information. The GCC tools here shows the advantage of free software, everybody can improve it. Try to do this with proprietary one. The Eclipse software and Zylin software is covered by the Eclipse Public License - v 1.0 Here I will list some products which are available in a non-commercial version and which I use by myself. For more information on non-commercial means, take a look at each particular web page. If you are looking for an other ARM toolchain, take a look at Rowley Associates. Rowley just extended the licensing scheme to include hobbyists and students with a new Personal License. There is even a non-commercial version of the J-Link JTAG emulator available. More information about this version can be found at the J-Link EDU page. If you need a layout editor take a look at EAGLE, which is an easy to use tool for designing printed circuit boards (PCBs). This is not a commercial site. Therefore is nothing for sale here.
The YAGARTO project on SourceForge can be found here. |
||||||||||||||||||||||||||||||||||||||||||