GCC6809 is a port of the free GNU C compiler to the 6809 processor. It has been tested on Linux and Cygwin, and is probably portable to other UNIX-like environments as well. GCC6809 now supports the CoCo hardware platforms as well as generic targets.

GCC6809 is developed in parallel with the mainline, "trunk" version of GCC. Snapshots are periodically made available against released versions of the software as patches. The latest version is GCC 4.3.4-1. GCC 4.4.0 and beyond are also being tracked and future releases may be made for those versions too.

Developers interested in contributing to GCC6809 should contact me and request access to the git source code repository. For the latest news regarding the status of the compiler, see the 6809 blog.

What is GCC6809?

GCC6809 provides a port of the C compiler proper, plus an assembler, linker, and library manager, forming a complete "toolchain". Although the 6809 is not in mainstream use, there are still many designs based on it. Historically, the 6809 was an important processor whose design influenced later processors and which was used in many different applications.

The C compiler is a port of GCC modified to generate 6809 assembly language. GCC is designed to support multiple "backends", and has been ported onto a wide variety of different architectures, such as x86, PowerPC, MIPS, Sparc, etc. The 6809 port is mostly just another backend, although some of the common GCC files have been changed also.

GCC proper only generates assembly language. It relies on separate tools to convert this into a final program. On most GNU systems, this is provided by a set of programs called "binutils". The GNU binutils does not support the 6809, so a third-party package called the ASXXXX Cross Assemblers is being used instead. Some scripts are provided that map between the standard binutils command-line options and the ASXXXX syntax, making it appear as a normal binutils port.

Please read the online manual for more detailed information about the project.

Features

GCC6809 has been tuned and optimized for writing real-world 6809 programs:

Simulation

I've also provided a portable 6809 simulator that can be used to run test programs. It is named 'm6809-run' and is a based on a version originally written by Arto Salmi. It has been enhanced with the following features:

C Library

Althought not well tested, there is a port of newlib to the 6809, which provides the standard C library functions. It is based on newlib 1.15.

The I/O routines builtin to the C library target the simulation environment and the CoCo hardware. Support for other hardware may be added in the future.

License

All of the major components within GCC6809 (GCC, newlib, and the simulator) are released under the GNU General Public License.

Links

GCC 6809

Latest Release
(4.3.4-1)

Previous Releases

C Library

Simulator

Related Pages