Development Tool Chain
The set of tools that one uses in creating programs is known as toolchain. A typical embedded system development toolchain consists of:
-> Specific tools
Cross compilers ???
The popular 'C' language development tools in the PC world like Turbo C, VC++, BC++ cannot be used to create programs for embedded systems. The main reason for this is that these tools are meant to be used for development on Intel x86 processors.
Most embedded systems use processors that are different than x86. Some examples of these processors are Intel 8051, AVRs, PIC Micro etc. Each of these processors has its own machine language. So we need a kind of Cross platform, that can generate machine code for AVR while running on x86 processor. These platform are known as Cross Compilers.
Options for us as AVR developer...actually there are many Options...
WinAVR - gcc Freeware and bestINSTALL WinAVR - gcc Code Vision AVR INSTALL CV AVR evaluation version AVR studio (Simulator) INSTALL AVR studio
Preprocessing - The preprocessing step is same as that in PC programming. During preprocessing the typed source is converted into expanded source code.
Compilation - Compiler translates expanded source code in C into an equivalent assembly language code. Since our compiler is generating assembly according to the instruction set of AVR Microcontroller this process is known as cross compilation.
Assembling - An assembler translates .ASM program into object code. assembler produces object code for the processor in target device.
Linking - Linker creates an executable for the target device. The executable produced by linker is stored on the hard disk of the host system.
Burning - In this step, the executable generated by a linker has to be physically transferred from hadr disk of host system to the target embedded device. This is commonly done using a serial cable or a network cable connecting the host and the target device.
Each of the necessary steps are illustrated in pictorial form under Getting started AVR segment.
email@example.comBest viewed at Firefox 1024x768 resolution