Innovation... driven by intelligence and logic

Modules and Projects in ELDD

Modules and Projects in:-

Embedded Linux and Device Drivers

 

Sl  No Module No module name Working Days Classes (2 Hrs) labs (4 Hrs)
1. 00 Linux Systems and Network Administration 5 5 5
2. 01 Data Structures with C using Linux 20 15 20
3. 11 Shell Scripting using Bash 5 5 5
4. 03 Client Server Communication using Linux and IPC 10 7 10
5. 04 FTP based Client Server using Linux, Threads and Network Sockets 10 4 4
6. 12 Linux Architecture and Internals 8 8 4
7. 05 Character Device Driver 17 17 17
8. 06 Parallel Port Device Driver 10 5 10
9. 07 Serial Port Device Driver 10 5 10
10. 08 Block Device Driver 10 5 10

 

A brief description of Modules:

  • Module 00: Linux System and Network Administration

    • It should normally take 5 working days for this module to be completed.

    • There would be 5 classes of 2 Hours each.

    • There would be 5 Labs of 4 Hours each.

After This Module would be over, you should be able to:

  • Work comfertably on a Linux Workstation.

  • Install Linux, flavour Fedora and Debian using media i.e. cdrom.

  • Install Linux, flavour Fedora using media i.e. usb.

  • Install Linux, flavour Fedora using network.

  • Use vim editor efficiently for writing text and programs.

  • Compile programs using gcc - C compiler.

  • Able to Configure and use the following servers:

    • TFTP, FTP, TELNET, ssh, DNS, DHCP, NFS.

  • Module 01: Date structures using C and Linux

    • It should normally take 17 working days for this module to be completed

    • There would be 17 classes of 2 Hours each.

    • There would be 17 Labs of 4 Hours each.

After This Module would be over, you should be:

  • Comfortable with respect to programming in C

  • Able to Implement and use Data Structures using C.

  • Proficient in Advanced C.

  • Having good understanding about gcc compiler.

  • Able to debug complex C programs using gdb.

  • Ready for System Programming using C

  • Adept with Project Management tools.

  • Efficient with Source code management tools.

  • Module 11: Shell Scripting using Bash

    • It should normally take 5 working days for this module to be completed.

    • There would be 5 classes of 2 Hours each.

    • There would be 5 Labs of 4 Hours each.

After This Module would be over, you should be able to:

  • write shell scripts using Bash

  • Run and Controlling Scripts with ease

  • Debug shell scripts

  • Do scripting using files, sed, awk efficiently

  • Control processes

  • Handle System Administration

  • Module 03:Linux programming and IPC
    • It should normally take 7 working days for this module to be completed.

    • There would be 7 classes of 2 Hours each.

    • There would be 7 Labs of 4 Hours each.

After this Module would be over, you should:

  • be able to understand process creation, loading, duplication, replacement and destroying.

  • be adept with Process Management, Signals and Signal Handlers.b

  • be adroit with IPC Mechanism - Pipes, FIFOs, Message Queues and Shared Memory.

  • be proficient with Synchronization Techniques - Semaphores.

  • be seasoned and Skillful in implementing client server architecture using IPC and synchroniz optimally.

  • have implemented a project using the concepts learned.

  • Module 04: Network Programming using Threads and Sockets:
    • It should normally take 6 working days for this module to be completed.

    • There would be 4 classes of 2 Hours each.

    • There would be 4 Labs of 4 Hours each.

After this Module would be over, you should be able to:

  • understand the concepts of Threads as used in linux.

  • Synchronize Threads using joining and threads semaphores.

  • debug timing faults in threads and synchronize.

  • set thread attributes as required.

  • implemtnt communication among threads.

  • understand communication endpoints and implement network interface - sockets.

  • communicate across the network using sockets.

  • synchronize communication across the network

  • Implement a network programming project using threads, threads semaphore, sockets using AF_INET.

  • Module 12: Linux Architecture and Kernel Internals

    • It should normally take 15 working days for this module to be completed

    • There would be 15 classes of 2 Hours each.

    • There would be 15 Labs of 4 Hours each.

After this Module would be over, you should be:

  • Work Comfortably on Linux Systems.

  • Implement and use System Programs for Linux using C.

  • Proficient in System C for Linux Systems.

  • Know the Linux Kernel Architecture

  • Understanding internals of Linux Operating System.

  • Use Linux for System Software Development.

  • Use Linux for Embedded and Applications Development.

  • Use Linux for Network Programming

  • Do Linux System Administeration.

  • Module 05: Character Device Driver
    • It should normally take 17 working days for this module to be completed.

    • There would be 17 classes of 2 Hours each.

    • There would be 17 Labs of 4 Hours each.

After this Module would be over, you should be able to:

  • have an indepth driver level underatanding

  • understand the loadable kernel modules interfaces with the kernel

  • write a complete GPIO character driver.

  • synchronize device operations using semaphores, spinlocks, completion, blocking IO, wait queues.

  • implement advanced device operations like io control, /proc, sysfs.

  • underatand timing mechanism

  • implement kernel timers, tasklets and shared queues.

  • adept with usage of interrupts for devices.

  • Module 06: Parallel Port Device Driver
    • It should normally take 7 working days for this module to be completed.

    • There would be 5 classes of 2 Hours each.

    • There would be 7 Labs of 4 Hours each.

After this Module would be over, you should be able to:

  • understand the working of parallel port

  • write device driver for parallel port from scratch in following modes

    • ​Compatiblity mode or centronics

    • Byte mode

    • nibble mode

    • ECP mode

    • EPP mode

    • use interrupts for Serial port.

  • Module 07: Serial Port Device Driver:
    • It should normally take 7 working days for this module to be completed.

    • There would be 5 classes of 2 Hours each.

    • There would be 7 Labs of 4 Hours each.

After this Module would be over, you should be able to:

  • adept with RS232 protocol

    • understand the working of serial port

  • write device driver for serial port from scratch

  • implement GPIO using serial port device driver

  • interpreet datasheets for writing device drivers

  • use interrupts for Serial port.

  • Module 08: Block Device Driver:
    • It should normally take 7 working days for this module to be completed.

    • There would be 5 classes of 2 Hours each.

    • There would be 7 Labs of 4 Hours each.

After this Module would be over, you should be able to:

  • understand the working of Block Drivers

  • write write device driver from scratch

  • implement GPIO using block device driver

  • implement block device operations

  • understand the gendisk structure.

  • implement IO control

  • do request processing

  • use request queues

  • understand bio structure, request structure fields, barrier requests, nonretryable requests.

  • implement request completion functions.

  • work with bios

  • do block request with dma

  • understand the mechanism for command pre-preperation

  • Tagged command queueing

 


EmbLogic is an ISO 9001:2008(QMS) (Quality Management System) Certified Company

 

Go to Top ^