Getting more into Embedded Linux : 1st part

So, in the previous posts we got introduced with the Embedded Linux..

From now onwards, we will be learning the real stuff.  I am assuming that you people are THRU  with the Pre-requisites  I mentioned in the previous post (at least fair knowledge of linux and C).  We will be taking a real example so as to take a Practical approach towards the Embedded Linux Systems…may be it becomes easier to understand..

Be real Passionate about any of the work you do otherwise It will appear bore to you specially for the case of Embedded Systems. It is real big domain!!!  Otherwise you may leave it after a while…a lot of people do..or I should say ..they quit pertaining to the difficulties faced in the Embedded linux stuff.

Introduction with a few Terms:

  • Bootloaders

an example

         For this, let me say in short, (we will have a seperate post for it); the code that makes the embedded system to LIVE UP..

(please comment if you people dont agree with my term LIVE UP..I always like discussions)

what I mean by live up is that any of the Embedded System specifically SBC and pc etc. are having so much of peripherals and  buses etc. So how to make them work in order.\i.e. their initiallisation part ..Its all done by Bootloader

For ex- BIOS in your PC, initialize the board necessary componenets  such as Serial port, Ram, Processor, etc and peripherals(may be the case)..do a hardware test, and then loads your bootstrap loader i.e. GRUB / LILO / syslinux  or your windows loader !

  • Cross compile

     

     It simply means that to compile on my HOST(the machine where I am compiling the programs) but the compiled programs are for my target device or another platform..(as simple as the name is..CROSS..)  So, we actually compile binary for another system..this is termed as Cross Compiling.

  • Tool chain

                  As we know, that in order to compile a program, we require a lot of tools that is a preprocessor, compiler proper, linker, assembler, loader, So, this is the case everywhere.  Similarly, we require these tools to compile our application or program for the target system.  For example-If I want to compile a hello world program for ARM processor based board / embedded device(i will cover it in next post); So what all you require is a TOOLCHAIN i.e.  all the program to compile the code to act as a binary executable for ARM architecture..

  • BSP

           In embedded systems, a board support package (BSP) is implementation specific support code for a given (device motherboard) board that conforms to a given operating system. It is commonly built with a bootloader that contains the minimal device support to load the operating system and device drivers for all the devices on the board.  Some suppliers also provide a root file system, a toolchain for making programs to run on the embedded system (which would be part of the architecture support package), and configurators for the devices (while running). Rest, we will discuss when we will actually use the BSPs.

  • File Systems:
    In most simple terms, I would say that It is the way the data and files are organised in the partition(space).  All the file systems like that of ext2, ext3, ext4, ReiserFS, Btrfs, NTFS, etc. etc. are used as they are in case of embedded systems.. Other flash bsed file systems are also used because we will usually have Flash in our embedded Devices..

Rest, I will explain as with the terms come..

Advertisements

About Beyond

an electronics hobbyst, 8 bit microcontroller(8051/AVR/Arduino) programmer, Linux lover, in love with Embedded Linux systems ... TGL: just push it "BEYOND THE LIMITS"..

Posted on June 23, 2012, in Embedded Linux, Embedded Systems, Linux and tagged , , , , , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s