Free Software C/C++ Cross-Compiler Suite
for the Motorola MPC8xx
This page contains out-of-date material, click here to go to current version.
The GNU C/C++ compiler is available for the Motorola MPC8xx processor family as an alternative to commercial embedded development tools. Why pay for restrictive software licenses when a free alternative is available?
The GCC (GNU compiler collection) is the free compiler that made the free Linux operating system possible. The GCC C/C++ language tools support the cross-compiler requirements for a number of target processors families and their variants. However, because the number of host-and-target-variants is just astounding, the GCC is not pre-compiled by the GNU project people at the Free Software Foundation. So we had to go through the cross-compiler build process for our purpose, that is a GCC port for the Motorola MPC8xx processor family used without a full-scale operating system.
The MPC8xx POMP, a “Peace-Of-Mind Port” of the GNU Compiler Collection to the Motorola MPC8xx Processor Family
This MPC8xx-POMP, Port of the GNU Compiler Collection to the Motorola MPC8xx Processor Family, Release Notes document provides the background technical information about a port of the GNU Compiler Collection (GCC) used as a cross-compiler for the Motorola MPC8xx processor family. The port name MPC8xx POMP, stands for Peace-Of-Mind Port, referring to our dedication to simplify the software development tasks when using the Motorola MPC8xx processor family.
The classical approach to software development for embedded systems is to rely on commercial cross-compiler tools. The alternative described in this document is known as GCC from the Free Software Foundation. It is the compiler behind the Linux operating system and it is increasingly used as a cross-compiler for a number of different target environments.
GCC pre-compiled binary specifications: binutils-2.13, gcc-3.2.2, newlib-1.10.0, --host=i386-pc-linux, --target=powerpc-eabi.
Relevant files:
Compiled binaries (no longer available): http://www.connotech.com/gcc_mpc8xx/mpc8xx-pomp-20030320-binaries.tar.gz
Miscellaneous patched files in the distribution: http://www.connotech.com/gcc_mpc8xx/mpc8xx-pomp-20030320.tar.gz
The build script file: http://www.connotech.com/gcc_mpc8xx/port-xgcc.sh
Previous version of these tools: GCC-MPC8XX Version 1
Original distributions:
binutils-2.13
Originator's web site: http://sources.redhat.com/binutils/
Originator's distribution (one of many mirror sites): ftp://gnu.teleglobe.net/ftp.gnu.org/binutils/binutils-2.13.tar.gz
CONNOTECH Mirror for binutils-2.13
gcc-3.2.2,
Originator's web site: http://gcc.gnu.org/,
Originator's distribution (one of many mirror sites): ftp://gnu.teleglobe.net/ftp.gnu.org/gcc/gcc-3.2.2.tar.gz,
CONNOTECH Mirror for gcc-3.2.2.
newlib-1.10.0
Originator's web site: http://sources.redhat.com/newlib/
Originator's distribution: ftp://sources.redhat.com/pub/newlib/newlib-1.10.0.tar.gz
CONNOTECH Mirror for newlib-1.10.0.
Planning the use of a GNU cross-compiler
It is hard to find GNU tools seamlessly integrated in the MS Windows environment. The GCC is available in the Windows environment using some emulator software (e.g. Cygwin) for which the installation and support is deemed not trivial. We found a SAMBA server approach more effective for supporting software development by programmers using Windows-based computers.
Planning tips for the installation of the MPC8xx-POMP binaries (e.g. when the programmers are using Windows-based computers):
Install a SAMBA file server running on a i{3/4/5/6}86 architecture Linux computer (such a server is useful anyway and it may already exist on your organization’s computer network). This Linux computer needs no GUI, the command line user interface is adequate. The processing power and disk space should not be a limiting factor for computer hardware provisioning. Make sure any default firewall function is not preventing the SAMBA server network activity.
Install the MPC8xx-POMP binaries on this Linux computer.
Recommended software development procedures
Direct the programmers to store source files in directories located on this SAMBA file server. This is transparent to the Windows environment except for case sensitivity of file names, an issue which is addressed with a simple usage rule.
Use the GNU MAKE utility to drive the software build process. The makefile maintenance activity is admittedly a specialized skill, nothing is perfect.
Find a programmer-friendly mechanism to remotely trigger the makefile execution and retrieve the result files in the Windows environment.
The source code control activity may be assigned to either side of the Linux / Windows fence. However, keep an eye on case name sensitivity of file names and linefeed conventions. The mainstream free software solution for source code control is CVS.
ABCD Proto-Kernel Software Development Support
We plan to release the following items for the ABCD Proto-Kernel Software development support:
● sample makefiles
● specific linker command files for the PPCMB/850 hardware platform
● a post-link utility with options for the alternate loading mechanisms applicable to the PPCMB/850 hardware platform
● PPCMB/850-specific software loading utilities for a range of operational requirements
● An Ethernet and packetized serial communications utility, for communicating with embedded software through a simple Windows-GUI utility.
[ PPCMB/850 products | ABCD Proto-Kernel(tm) software | MPC8xx-POMP free compiler binaries ]
[ CONNOTECH home page: http://www.connotech.com | e-mail to: info@connotech.com ]