Free Software C/C++ Cross-Compiler Suite

for the Motorola MPC8xx




 

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.2, gcc-3.2.3, newlib-1.10.0, --host=i386-pc-linux, --target=powerpc-eabi.


            Relevant files:

Compiled binaries: http://www.connotech.com/gcc_mpc8xx/mpc8xx-pomp-20031007-binaries.tar.gz

Miscellaneous patched files in the distribution: http://www.connotech.com/gcc_mpc8xx/mpc8xx-pomp-20031007.tar.gz

The build script file: http://www.connotech.com/gcc_mpc8xx/port-xgcc.sh


Previous version of these tools: GCC-MPC8XX Version 2

 

Original distributions:

binutils-2.13.2

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.2.tar.gz

CONNOTECH Mirror for binutils-2.13.2

gcc-3.2.3

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.3.tar.gz,

CONNOTECH Mirror for gcc-3.2.3.

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 when developers are used to MS Windows editors

 

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

 

The ABCD Proto-Kernel™ software library comes with a number of related tools and demo files for effective use of the cross-compiler in a deeply embedded environment:

 

              ●         sample makefiles,

 

              ●         specific linker command files for the PPCMB/850 hardware platform,

 

              ●         the elf_post_ld post-link utility which reads the ELF file output by the cross-linker, make adaptations for the target embedded execution environment and the ABCD Proto-Kernel™, and outputs a file ready for loading in the target system,

 

              ●         two software loading utilities,

 

              ●         the lab-comm utility, an Ethernet and packetized serial communications utility, for communicating with embedded software through a simple Linux-based command-line utility.





[ PPCMB/850 products | ABCD Proto-Kernel(tm) software | FlashCnL software | MPC8xx-POMP free compiler binaries | Industry Links ]


[ CONNOTECH home page: http://www.connotech.com | e-mail to: info@connotech.com ]