Difference between revisions of "Hawkboard/Sandbox"

From eLinux.org
Jump to: navigation, search
(Add category and suggest deletion)
 
(22 intermediate revisions by one other user not shown)
Line 1: Line 1:
Linux Programmer’s Guide
+
[[Category:ToDelete]]
 
+
 
+
==Introduction to Toolchain==
+
Toolchain are Chain or set of programming tools for building an apps , it could include following :
+
*Editor for writing program
+
*Assembler
+
*Compiler
+
*Preprocessor
+
*Linker loader
+
*Debugger
+
*Binutils etc.
+
 
+
 
+
===Toolchain Type===
+
 
+
'''a)Native toolchain'''
+
 
+
Native toolchains are tools which makes binaries for the environment where it toolchain itself is being run.i.e Host and target are same platform.
+
This type of Compilation process is called Native compilation .Meaning that the program is compiled on same platform where it has to be run. Similar to normal PC based program ,they are compiled and run on same machine.
+
 
+
It is much easier to program using this method as it doesn’t involve any Makefile changes.
+
 
+
Earlier embedded devices had very less memory and space and also limited supports of Input-output peripherals, hence Native compilation was not possible or very difficult.
+
But with the advent of powerful embedded ARM processor its now possible to make application on the platform itself. Same can be done in Hawk board too. But still it will be slower to compile as in X86 machine.
+
 
+
e.g. Normal GCC Toolchain in x86  Linux machine is a Native toolchain.
+
 
+
'''b)Croos Toolchain'''
+
 
+
Toolchain which are used to compile the application that will run of different machine(architecture) .This is usually used for embedded apps (e.g ARM programming)
+
You program in x86 environment and run in ARM Board. This type of compiling is called cross compiling
+
 
+
Since native compilation is either not possible or very slow ,Cross compilation present a better alternative for faster development .Only drawback is to properly set build environment and Makefiles.
+
 
+
'''c)Hybrid Toolchain'''
+
 
+
It similar to native toolchain,but infact toolchain run in virtualised  environment
+
on Host.Simple example is QEMU -ARM Running on X86 Linux & you are developing application
+
on this Virtual environment.
+
 
+
This has advantage of both Native and Cross compilation.Speed of cross compilation & Ease
+
of Native development.
+
 
+
Various solution exists, One is scratchbox ,another is ChrootEABI feature in Ubuntu.
+
 
+
 
+
==Native Toolchain & Compilation==
+

Latest revision as of 10:00, 28 October 2011