Real-Time Systems Development

17.3: Cross-compilers and linkers

17.3 Cross-compilers and linkers

Often newcomers to real-time systems are surprised when confronted with their first embedded project to discover the complexity of the routine operations: compiling, linking, locating and loading. Desktop PCs have been around for so long, their sophisticated Integrated Development Environments (IDE) now successfully hide the actual operations of the compiler suite behind pre-initialized GUI screens. Which libraries are linked to the produced object modules, and what format is used by them, can be completely unknown, until something falls over, and questions have to be answered.

The main sources for cross-compilers and linkers are Kiel, IAR and GNU. The first two are well-respected commercial suppliers, and the latter is Richard Stallman's organization for the development of open source software. There is a clear advantage to using the GNU gcc/g++ compiler suite because of the availability of all the source code, and the worldwide community of expert users. Many gcc cross-compilers have already been built for the more common host target combinations, and made available on the web for general usage.

For the gcc compiler suite, the quite impressive list of recognized CPU names are:

1750a, a29k, alpha, arm, avr, cn, clipper, dsp16xx, elxsi, fr30, h8300, hppa1.0, hppa1.1, i370, i386, i486, i586, i686, i786, i860, i960, m32r, m68000, m68k, m6811, m6812, m88k, mcore, mips, mipsel, mips64, mips64el, mn10200, mn10300, ns32k, pdp11, powerpc, powerpcle, romp, rs6000, sh, sparc, sparclite, sparc64, v850, vax, we32k.

While the recognized target operating systems are:

386bsd, aix, acis, amigados, aos, aux, bosx, bsd, clix, ctix,...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Microprocessor and IC Programmers, Compilers, and Debuggers
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.