cs2009 Cross Compilers for PC Host and various targets on CDROM
This collection is primarily of software hosted on Windows/DOS, and Linux. In some cases one, in some cases the other, and sometimes both. For linux distributions, the source is usually provided. The programs are either public domain or some kind of public license. I have searched the Internet for software that appears to be useful, but I cannot give assurances about the suitability of any package for a particular purpose. Generally, the packages fall into three categories: 1. Applicable to one processor or a closely related group of processors
2. Designed to apply to an extended family of processors
3. More generalized, retargettable compilers that attempt to generalize the compilation functionality. I have included some documentation, where possible. In addition, packages contain documentation at varying levels of thoroughness, which you will see when you expand the archives in which they are stored. Note that there are various archive formats, which generally are appropriate to the area of applicability of the contents.In addition, I have included copies of some web pages with very useful links.
Here is a listing of the packages included:bakefile - A cross-platform, cross-compiler native makefilesgenerator. It accepts a compiler-independent description of buildtasks as input and generates native makefiles. Runs on Windows95/98/NT/2000/XP, and a Linux/BSD/UNIX type systems, including Mac OSX. Distributed under the GNU General Public License. BDS - A C compiler for 8080/Z80 CP/M systems, now in the publicdomain. It can be used to generate 8080/8085/Z80 code for embeddedsystems, if you replace any system calls in the runtime library. cc65 - A cross-compiler for the 6502. It runs on Win32, DOS, Linux andOS/2. It generates binaries for the Commodore C64, C128, C16, C116,Plus/4, and the 600/700 family of compilers. The package also includedan assembler, linker, archiver, and a frontend named cl65. The runtimelibrary and the standard C library have been designed with portabilityin mind. Startup and initialization code is included for thefollowing: Commodore C64; GEOS; Commodore C128; Commodore C16, C116and Plus/4; Commodore P500; Commodore 600/700 family; Apple II; Atari8bit machines; Oric Atmos; Nintendo Entertainment System (NES); andthe Supervision Game Console c64cc is a C cross compiler suitable for any ANSI C-compliantsystem. c64cc produces code for the 6502 (6510) processor. It waswritten for my GNU/Linux system, but will most probably compile undermost (sane) systems. DICE - A cross compiler that will compile on the Amiga, FreeBSD, Linuxand other Unix systems. It produces relocatable or fixed address(ROM-able) code. It is suitable for embedded development on 68k chipssuch as the 68000 / 68302 / 68306. gcc_2.95 - The gcc compiler is very powerful and supports manytargets. There are a lot of options to figure out though. This is anold version, but some of the target processors were dropped in laterversions. Other adaptations of gcc are also included and are describedbelow. gcc_3.4.3 - More up to date gcc.GNUDE - Another packaging of gcc. GNUDE is a complete suite of GNU C,C++, Fortran, and Java Cross Compilers, and the GDB CPU Simulator andDebugger for embedded microprocessor applications development. Targetsdevelopment for ARM7, ARM9, and XScale applications. It runs onWindows 95/98/NT/2000/XP and Mac OS X. It is distributed under the GNUGeneral Public License. hp48 - The HP48 GNU C Cross-Compiler. A gcc-based C cross-compilerfor the Hewlett-Packard HP-48 scientific calculator. 4-bit data bus,20-bit address bus, 64-bit register architecture. rabbit - A development system for the Rabbit2000/3000 microcontrollerson Linux. A cross C-compiler, assembler, and linker, base on SDCC. Forall Linux/BSD/UNIX type systems. Available persuant to the GNU GeneralPublic License. SDCC - An open source retargettable, optimizing ANSI - C compiler. Thecurrent version targets the Intel 8051, Zilog Z80, Dallas 80C390,Motorola HC08 and Microchip PIC MCUs. It comes with a source leveldebugger and a simulator, and it is capable of a variety ofoptimizations. Runs on Windows 95/98/NT/2000/XP and Linux/BSD/UNIXsystems. Distributed under the GNU General Public License. z88dk - A z80 C cross compiler supplied with an assembler/linker and aset of libraries implementing the C standard library for a number ofdifferent z80 based machines, including Spectrum, ZX81, VZ200, SharpMZ, CP/M, TI8x calculators(TI82, TI83, TI83+, TI85, TI86), Sam Coupe,MSX1,Spectravideo, Mattel Aquarius, Peters Sprinter, and C128 (in z80mode).
The compiler is an enhanced Small C compiler, the compiler acceptsmany features of ANSI C and is only deficient in a few areas whereimplementation on a z80 processor might prove inefficient. Thecompiler performs simple optimizations, but the bulk of theoptimization is done by a set of peep-hole rules, which will typicallyreduce the size of a large project by up to a third.
The libraries supplied with z88dk are designed to be as generic aspossible, indeed it is possible to port to a new machine simply bysupplying two library routines and some startup code. z88dk is knownto run on the following platforms: Amiga, BeOS, HP-UX 9, Linux, MacOSX, Solaris, Win32, Win16 and MSDOS. On BSD machines, GNU make shouldbe used instead of the native make program. ACK - The Amsterdam Compiler Kit - A complete compiler toolchain thatwill cross-compile ANSI C, K&R C, Pascal, Modula-2, Occam, Fortran andBasic for any or all of: 6500, 6800, 6805, 6809, ARM, i86, i386, i80,Z80, Z8000, 68000, 68020, 68040, Sparc, NS16032, Vax and PDP 11.
The Amsterdam Compiler Kit is a fast, lightweight and retargettablecompiler suite and toolchain written by Andrew Tanenbaum and CerielJacobs, and was Minix\' native toolchain. It comes with a genericlinker and librarian capable of manipulating files in the ACK\'s owna.out-based format; it will work on files containing EM code as wellas native machine code. You can not, however, link a combination of EMcode and native machine code without translating the EM first.
For use with Linux/BSD/UNIX, but with source adaptable to othersystems. Distributed under the BSD License. DSP56800 - Runs on Linux. Not carefully documented.WinAVR (pronounced \"whenever\") is a suite of executable, open sourcesoftware development tools for the Atmel AVR series of RISCmicroprocessors hosted on the Windows platform. It includes the GNUGCC compiler for C and C++. Distributed under OSI-Approved Open Sourcelicense. gcc-MSP430 - The GCC toolchain for the Texas Instruments MSP430 MCUs -A port of the GCC toolchain for the Texas Instruments MS4P430 familyof ultra low power MCUs, This includes the GNU C compiler (GCC), theassembler and linker (binutils), the debugger (GDB), and some othertools needed to make a complete development environment for theMSP430. These tools can be used on Windows 95/98/NT/2000/XP, Linux,BSD and most other flavours of Unix. However, the full debugenvironment is currently limited to Windows, Linux andBSD. Distributed under the BSD License, and the GNU General PublicLicense. Shipping is $3.00 Worldwide.