Development Tools and Related Resources

Contents

Compilers

The MAVRIC and M128B boards can be programmed with any compiler supporting the ATmega128. Two very popular environments are the GCC port to the AVR architecture known as AVR-GCC and also the BASCOM-AVR Basic compiler from MCS Electronics.
AVR-GCC
Full ANSI C compiler using the GNU open source tool chain. The C library (avr-libc) is very complete with nearly all common C library components including 'printf()' and friends, as well as floating point math.
  • FreeBSD Unix - see the avr-gcc port in /usr/ports/devel/avr-gcc.
  • Windows & Linux - See the AVR-GCC section of the AVR Freaks Web Site. WinAVR is the windows port that contains not only AVR-GCC, but also AVRDUDE - an open source programmer that I wrote, as well as other AVR related utilites.
The BASCOM-AVR compiler is a Basic compiler that is very popular among AVR enthusiasts. It includes a very rich library of routines for performing common tasks such as reading IR Remote protocols, interfacing with LCD displays, etc.
Open Source Assember for AVR's that is compatible with Atmel's assembler syntax, also incorporates conditional assembly.
Windows based IDE for the AVR-GCC toolset.
C Compiler and IDE for Windows, targeting the AVR.

Programming Hardware, Software, Simulators, and Debuggers
The AVR In-System Programmer mkII is an inexpensive programmer made by Atmel for downloading your program into your board..

The STK500 is a general purpose development board from Atmel that provides a nice programmer for the MAVRIC board utilizing the 10-pin ISP header. It is supported by Atmel's AVR Studio software as well as many open source programmers.
AVRDUDE is an open source programmer (software) for downloading your program to your board. It supports several popular programmers include the STK500, AVR-ISP, and many parallel port programmers. AVRDUDE was originally written by me to run on FreeBSD Unix and has since been ported to Windows and Linux by contributors.
The JTAG ICE is a Real Time In-Circuit Emulator for ATmega devices that have a JTAG interface. You can use this with your MAVRIC or M128B boards - they each support the 10-pin JTAG header. Using the JTAG ICE, you can single step through your program as it runs on your hardware. Also, you can use it as a programmer for uploading your program and setting the fuse bits. The JTAG ICE can be used with Atmel's AVR Studio on Windows, as well as with the GNU debugger GDB on Unix (utilizing the AVaRICE project software).
The ECROS Technology AVR "ICE-Cube" is a high-quality but low-cost alternative to Atmel's JTAG ICE interface for AVR microcontrollers. Like the JTAGICE, you can use this with your BDMICRO MAVRIC, MAVRIC-II, MAVRIC-IIB, and M128B boards and single-step through your code as it runs directly on the hardware, as well as use it to download the flash program memory on the board.
AVaRICE is an open source project for supporting the JTAG ICE. AVaRICE provides an interface between the JTAG ICE hardware and the GNU avr-gdb debugger, allowing gdb to be used to control the execution of your program running in circuit. AVaRICE also supplies a command-line interface for downloading your program and setting fuse bits as well. The combination of the JTAG ICE hardware, and AVaRICE and avr-gdb provides a very powerful debugging environment for the open source community.
This is the very powerful GNU open source cross platform debugger which support the AVR target. GDB can be used in combination with the JTAG ICE hardware and the AVaRICE emulation layer software to support remote debugging of your application as it runs on your hardware. This provides a very powerful development combination. Additionally, GDB can be used to step through your program while running in the Simulavr AVR simulator.
Avrora, a research project of the UCLA Compilers Group, is a set of tools for programs that run on the AVR series of microcontrollers produced by Atmel. Avrora contains a flexible framework for simulating, analyzing, and optimizing assembly programs, providing a clean Java API and infrastructure for experimentation, profiling, and analysis.
Simulavr is a simulator for the Atmel AVR family of 8-bit risc microcontrollers and can be used to simulate your program before running it on real hardware. When used with GDB, you can step through your program as it runs in the simulator.
AVR Studio is an Atmel provided IDE for the Windows platform that includes the programming software, simulator, assembler, and provides hooks for third party compilers to be used within the environment.
The SP Duo is an In-System Programmer that can program your BDMICRO board using either the SPI or JTAG interfaces. This is a great little programmer, very small and compact, and it programs extremely fast - about three times faster than the Atmel AVRISP. Other than the speed at which it programs, one of the unique aspects of this programmer is that it uses the STK500 protocol to program the target board using the JTAG interface. This allows one to program using the JTAG interface using software that does not support the JTAGICE protocol.
PonyProg is another programmer available for Windows and Linux and supports the ATmega128, as well as many other devices.

On-Line Support and Links
AVRfreaks is a great resource for AVR developers. At AVRfreaks you will find design notes, links and information regarding new devices and tools, as well as forums where you can discuss design ideas and ask questions with other AVR developers.