Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Embedded System Programming

Download Back

SECTION I : Embedded System Fundamentals

Module 1: Embedded System Basics
This module covers the basics of embedded system. It covers various embedded domains.

  1. What is embedded system
  2. Various examples and their designs discussed
  3. Hardware needs(Microprocessor and Micro controller
  4. OS based and non OS based Embedded  System
  5. Development environment(IDE,cross compilers,debugger toolchains)
  6. Development setups
  7. What is BSP

MODULE 2: Embedded C overview
This   module revises   C  for the system programming. Topics are:

    1. Pointers
    2. Function pointers
    3. Structures union ,bitfields
    4. Bitwise operators
    5. Hardware instructions in C
    6. DataStructures – Linked list, queues, stacks
    7. Static /shared Libraries
    8. Makefiles

Module 3: ARM Microcontroller Programming
This module is focused on architecture and programming on ARM microcontroller.

    1. Microcontroller fundamentals
      • Architectural overview
      • Registers
      • Instruction set
    2. Programming
      • Peripherals devices and programming
      • Development setup with Keil
      • Various programming  examples

PIC controller and 8051 Microcontroller are optional modules which students can opt for.

SECTION II :  Operating System Programming

MODULE 4: Operating System Concepts and Programming
This   module aims to introduce the Operating system concepts and focuses on programming in User Space. This module provides   strong foundation to student and emphasises programming in Linux OS . Main Topics   are:

    1. Creating Processes
    2. Threads and multithreading
    3. Semaphores, Mutex
    4. IPC mechanism Pipes, Shared memory etc.
    5. Sockets and client server programming

Module 5 : Kernel Module Programming
This module introduces the Operating System Kernel programming. It gives basic aspects of working in Kernel and makes comfortable in kernel programming. All the topics in this module are completely practical oriented. They are:

    1. Compiling kernel
    2. Static linking ,dynamic linking of modules
    3. User space ,kernel space concepts
    4. System calls
    5. Writing simple modules
    6. Writing Makefiles for modules
    7. Proc  filesystem
    8. Debugging modules

Module 6: Character Device driver Development
This module aims to provide understanding of device structures and programming aspects
For devices.  It provides practicals on various drivers’ modules. Some of the topics are:

    1. Driver concepts
      • Block & character driver distinction
      • Low level drivers, OS drivers etc
    2. Writing character drivers
      • Device major, minor number
      • Interfaces to driver read, write, IOCtl etc
      • Blocking and non blocking calls
    3. Synchronisation
      • Semaphores , mutexes ,spinlocks
    4. Proc & Sysfs interfaces
    5. Interrupt  Handling
      • Interrupts and bottom halves
      • Writing  interrupt driven drivers
      • Implementing bottom halves
    6. Kernel Threads & Work Queues
    7. Timers
      • Kernel timers
      • Jiffies , Timer interrupts
    8. Kernel  linked list implementation
    9. Interfacing with hardware
      • IOMapped IO
      • Memory mapped IO

SECTION  III :  Embedded Linux  & ARM

Module 7: Embedded Linux Architecture

    1. Kernel  considerations
    2. Boot loaders and boot configurations
    3. Filesystem considerations and solid state medias
    4. Various hardware  processors in embedded arena

Module 8 :Introduction to ARM architecture

    1. Various ARM processors and revision
    2. ARM  programming modes
    3. Register sets and instructions
    4. Hosting OS on ARM

Module 9:Porting Linux on ARM

    1. Tool chains
    2. Choosing kernel configuration
    3. Cross compilation
    4. Building RootFS
    5. Booting Linux & start up

    Module 10 :Programming on ARM Linux

    1. Application programming on ARM  linux
    2. Interfacing with hardware/GPIO
    3. Writing small drivers on ARM

    Module 11 :Debugging

    Module 12 :Basics of Real Time Linux Considerations

    1. RTOS concepts
    2. Real Time Linux
    3. Typical applications of Real Time

    Note :  Section III needs knowledge of section II.  Student can opt only Section I or only II or II&III.

Download Back

Download Back

Embedded Linux with ARM
  1. Embedded Linux Architecture - 6000/-
    • a. Kernel considerations
    • b. Boot loaders and boot configurations
    • c. Filesystem considerations and solid state medias
    • d. Various hardware processors in embedded arena
  2. Introduction to ARM architecture
    • a. Various ARM processors and revision
    • b. ARM programming modes
    • c. Register sets and instructions
    • d. Hosting OS on ARM
  3. Porting Linux on ARM
    • a. Tool chains
    • b. Choosing kernel configuration
    • c. Cross compilation
    • d. Building RootFS
    • e. Booting Linux & start up
  4. Programming on ARM Linux
    • a. Application programming on ARM linux
    • b. Interfacing with hardware/GPIO
    • c. Writing small drivers on ARM
  5. Debugging
  6. Basics of Real Time Linux Considerations
    • a. RTOS concepts
    • b. Real Time Linux
    • c. Typical applications of Real Time
Prequisite: Linux Kernel & Device driver Programming
Download Back

Student Column
I learned Linux Kernel and Device Driver programming from Ulka ma'am, and my experience was just excellent. My entire carrier I have done Windows programming only and first time I came across Linux in her class. However her lucid style of teaching made it much easier for me to get to understand Linux and Linux Kernel. Ma'am's teaching is awesome combination of professional expertise and great teaching skills. If anyone want to dive into world of Device Drivers and Kernel I would highly recommend joining her institute
- Pranit

I did Linux kernel and Device driver course at L2IT .My exeperience has been wonderful. Topics covered from all aspects.
- Rakesh Shroff

I have completed the Unix Shell Programming from L2IT. I was novice to Unix .But after this course I can confidently work on any Unix ,Linux flavours. Also I got very good job in leading MNC on basis of Unix knowledge. Most of the interview questions were already done in Class.
-Prasad Z.

Unix shell scripting course at L2IT is a lifetime awesome experience. Believe me you will start loving Unix/Linux after this. Cheers
– Kalyani

I have completed CCNA from L2IT and got certification also. I am now Networking Professional in India's big Company

Unix Shell scripting course at L2IT is amazing learning experience. Mam teaching is extraordinary and full with industry experience knowledge. I have recommended this course to almost all my friends

Solaris training from Sir at L2IT is simply not training like other institutes but it gives you knowledge like you are on project

Short Term Courses

Quick Quote

Enter Name
Home | About us | Lab |Contact us | Site map
Share Google Groups
Website Designed And Developed By Disclaimer | Terms & Privacy Policy © All Rights Reserved to