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
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.
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.
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.
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.
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.
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