Bases of compiling

From OpenFSG

Jump to: navigation, search

Contents

Intro

What is compiling?

Imagine you are a programmer. You write your program in "code". "Code" is a version of a program that you can understand. Normally these are special English words, variables, loops...

But the CPU does not understand this code. So you must translate this code so the CPU of the FSG can understand it. This "translation" is called compiling.

What is native compiling?

You use a special program to compile "code" to an executable program.
Usually, you write in "C" code (C is a programming language). Then you will use "gcc" to compile it.
GCC will be inside the FSG itself.

What is gcc?

The GNU Compiler Collection (usually shortened to GCC) is a set of compilers produced for various programming languages by the GNU Project http://en.wikipedia.org/wiki/GNU_Compiler_Collection

GCC 3.4.4?

This is the last of the 3.4.x series. It is from May 18, 2005. http://www.gnu.org/software/gcc/gcc-3.4/

FAQ for GCC?

Here you can find it http://www.gnu.org/software/gcc/faq.html

What is Cross Compiling? (or crompiling)

In many situations, it is better to compile outside the FSG. This way you will have more CPU power to compile.
But you compile in a machine that has a kind of processor (X86 usually) and a kernel. But the program will run on the FSG procesor and other kernels. So, it is called "cross-compiling"

What is a toolchain?

Generally speaking the tool chain consists of at least the following packages: binutils, gcc, gdb The toolchain will make you able to:

  • compile tools that will run on x86 and that will compile for target (tools like gcc, g++, ld etc)
  • to compile libraries against??

TIPS:

  • FSG procesor is XScale-IXP42x Family rev 1 (v5b)
  • 4.x firmwares are kernel 2.6
  • For kernel 4.x Freecom has used Codesourcery ARM 2005q3-2
Personal tools