Tuesday 4 February 2014

Embedded Linux Development Environment !!

Hi guys...


I hope you like the introduction of Embedded Linux... if you'll search more about LINUX or Open source community for LINUX you'll get to know so many genius Linux system hackers and programmers are working for enhancement  of LINUX every day every minute... and they are not paid by anybody or any company.

They love to play with Linux kernel, they love to write drivers and services for new hardware... they njoy it !!
They respect and understand the simplicity and robust architecture of Linux kernel which is UNIX...
Hats off for Dennis Ritchie and Ken Thompson for this great invention, and we all who will be the part of Open Source Community in the near future have proud to be a part of LINUX....

Okay !! So today we will explore the environment useful for developing Embedded Linux on our device...


Embedded Linux :
There are two ways to switch to embedded Linux...
1) We can use solutions provided and supported by vendors like Embedded Artist, Monavista etc.... These solutions come with their own development tools and environment. They use a mix of open-source components and proprietary tools.
2)  Use community solutions. They are completely open, supported by the community.

Here we'll use community solutions because knowing the concepts will be easy to switch to vendor solutions.


Host OS for Linux development :
We'll use Linux as the desktop operating system to embedded Linux development because...


1)All tools which are necessary to build embedded Linux are developed and designed to run on Linux. If we'll try to use them on other operating systems (Windows, Mac etc) will lead to trouble.
DIAG
2) Any good and recent Linux desktop distribution can be used for the development workstation
Example : Ubuntu, Debian, Fedora, openSUSE, Red Hat, etc
We'll choose Ubuntu, because it is a widely used and easy to use desktop Linux distribution.


Host Vs Target :
While doing embedded development we need to computers one is  HOST which is a development workstation and which is typically a powerful PC, second one is  TARGET, which is the embedded system board under development. 
They can be connected by various means such as almost through a serial line for debugging purposes, Ethernet connection for frequently access and a JTAG interface for low-level debugging.


For a embedded Linux developer or a device driver developer Ethernet connection (TFTP server) is most suitable... becouse of frequent communication between target and host.
 

Serial line communication program :
An essential tool for embedded development is a serial line communication program, like HyperTerminal in Windows.
There are multiple options available in Linux: Minicom, Picocom, Gtkterm, Putty, etc.

We will use Picocom program for terminal application because it is easy to use...
PICOCOM instalation on UBUNTU...

sudo apt-get install picocom


How to use it.. we'll see while lab practice.... (update you soon...)

In my first post of embedded Linux i told we can use any of the processor architecture which supports Embedded Linux... and better to use processor which is defined in the arch directory inside the kernel source code.. because for that processor kernel configuration is already present in kernel source tree... :).

So I am going to use Beaglebone black which is up to1-GHz Sitara™ ARM® Cortex™

For beagle bone black,  configuration file is already present in kernel name as omap2_deconfig which i am going to use....



Beagle bone board support... http://circuitco.com/support/index.php?title=BeagleBoneBlack

board System Reference Manual found at
https://github.com/CircuitCo/BeagleBone-Black/blob/master/BBB_SRM.pdf?raw=true

This is the ultimate reference about the board, giving all the details about the design of the board and the components which were chosen....

People who have this Beagle bone black board can start with same and  people who have other ARM board can start with their board if that board architecture is supported by LINUX's recent version... :)


Thats it !!
Good Bye

Abhishek Mourya

No comments:

Post a Comment