GNU toolchain

Generally a toolchain is a chain of tools :)) obviously isn’t it ?

Before starting it is worthwile to say that the GNU toolchain is an essential component for building applications for embedded OSes (or RTOS- do not talk now about the differences between RTOS and embedded OS but this is good to have in mind for a future post)

The result of one tool is taken and used by next one and so on, in a serial way, in order to achieve the desired result. Tool-chain is some kind of ancestor of IDE’s, actually the main idea of having and IDE (Integrated Development Environment – something that “integrates” all development tools that you need) is to ease your work and not to strive with different versions of different tools. Using an IDE avoids unwanted dependency errors that may arise when using a tool-chain.

Its main purpose is to produce executables that can be linked to some standard libraries in order to form a complete operating environment (I mean operating system).

Why to discuss about it? Because it is very important in configuring and compiling RTOS (or embedded OS) kernels but also to develop applications on top of it for embedded systems.

Actually everywhere the Linux kernel is deployed GNU tool-chain is needed in order to configure and to build it for the specific target. As I mentioned in my previous post about Mobile OSes, there are other development tools used for creating mobile applications (even development for Android which is relying on Linux kernel can be done using Eclipse, so without the need of GNU tool-chain), but embedded world is bigger than mobile development …

It can worth a discussion about advantages / disadvantages of using GNU toolchain or an IDE, but I won’t cover this in detail. As far as I know IDEs cost money, well it depends also because if you take MPLAB from Microchip, this is free, but the C compiler costs some dollars, but GNU software is completely free and can be downloaded from here .

But what is it made of?

Read more of this post