Innovation... driven by intelligence and logic

Topics: Embedded Linux and Device Drivers with ARM

A 6 months, Project based, Hands-on Training Program

in

Embedded Linux and Device Drivers with ARM

The Training consists of the following Modules and Projects:- (in Brief)


 

Sl

No

Project

No

Project Name

Working

Days

Classes

(2 Hrs)

Labs

(4 Hrs)

1. 00 Linux Systems and Network Administration 5 5 5
2. 01 Data Structures using C with Linux 20 17 20
3. 11 Shell Scripting using Bash 5 5 5
4. 03 Linux programming and IPC 10 7 10
5. 04 Network programming using Threads and sockets 6 4 6
6. 12 Linux architecture and Internals 10 10 10
7. 05 Character Device Driver Development 18 18 18
8. 06 Parallel Port Device Driver Development 7 7 7
9. 07 Serial Port Device Driver Development 7 5 7
10. 08 Block Device Driver Development 7 7 7
11. 09 Embedded Linux on ARM using Storage 15 15 15
12. 25 ARM Architecture and Embedded Applications 10 10 10
    Total 120 110 120

  • The Training consists of the following Modules and Projects:- (in Detailed Description).

  • After the training is over, the trainees should have the following skills:-

Sl

No.

Project

No.

Module Name

Working

Days

Classes

(2 Hrs)

Labs

(4 Hrs)

1 00 Linux Systems and Network Administration 5 5 5
   
After This Module/Project is over, the trainee should be able to:-
  •     do User administration (setup and maintaining account)
  •     Maintain systems, Verify that peripherals are working properly, Quickly arrange repair for hardware in occasion of hardware failure, monitor system performance, create file systems, take backup and restore, Install software and do software management, create a backup and recover policy,  monitor Linux network communication, configure remote login services, update system as soon as new version of OS and application Software comes out,     implement the policies for the use of the computer system and network,  Setup security policies for users, have a strong grasp of computer security (e.g. firewalls and intrusion detection systems), understand Process Management and Memory Management, implement FTP Server, TFTP Server, CVS Server, DNS Server, DHCP Server, NFS Server, Apache Web Server, Configuring Proxy Server, A Database Server
  •     Understand and write efficient Shell Scripts for System/Network Administration
2 01 Data Structures using C with Linux 20 17 20
   
After This Module/Project is over, the trainee should be able to:-
  • 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.
3 11 Shell Scripting using Bash 5 5 5
   
After This Module/Project is over, the trainee 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 Admin, implement project using:-
    • shell scripting using Bash, do system and network administration and troubleshooting.
    • project management and source code control tools
4 03 Linux programming and IPC 10 7 10
   
After This Module/Project is over, the trainee should be able to:-
  • Understand the concepts of prosesses in Linux, do process invokation, duplication, replacing, understand process management, layout, underatand signal management and able to register signals, understand and implement Inter Process communication Mechanisms link, Pipes,FIFOs, Message Queues, Shared Memory, understand and implemtnt synchronization Techniques - Semaphores, implement project using processes duplication, replacement, IPC like pipes, FIFO, message queues, shared memory and synchronize using sempahores.
5 04 A FTP based Network programming using Threads and sockets 6 4 6
   
After This Module/Project is over, the trainee should be able to:-
  • understand the concepts of Threads, Implement threads and handle timing faults, implement efficient threads Synchronization, understand and set Threads Attributes, understand the concepts of Sockets, Implement Sockets with Advanced Family Protocols: AF_UNIX, AF_INET, establesh a FTP based client, server project using threads, thread attributed, sockets and associate protocols like:- ​FTP, AF_UNIX, AF_INET, TCP/IP, TCP/UDP.
6 12 Linux architecture and Internals 10 10 10
   
After This Module/Project is over, the trainee should be able to:-
  • understand the Linux Kernel internals, well versed with the following concepts:-
    • Process Management, File Systems, VFS, Interrupts, Memory Management, Device Control, Power management, understand and work on reducing latencies in the kernel.
6 05 Character Device Driver Development 18 18 18
   
After This Module/Project is over, the trainee should be able to:-
  • understand the device drivers architecture to Device Drivers, insert, register, unregister loadable kernel modules, implement Device Operationslike, opening the device, release, writing into the device, reading from the device, seeking intot he device, implement device synchronization using Semaphores, Completions, Spinlocks, Blocking IO, implement device debugging and watching using Software implemented filesystem: /proc, understand and inplement control operations: ioctl, device poll and select, do probing using sysfs, understand Timing Measurements, timers, tasklets, use Interrupts and Handling efficiently,
7 06 Parallel Port Device Driver Development 7 7 7
   
After This Module/Project is over, the trainee should be able to:-
  • understand IEEE 1284 Standard protocol,
  • have architecture level understanding for Parallel Port and its device driver
  • establish interaction with Hardware
  • iplement Parallel Port Device Operations in various modes like:- Compatiblity Mode, Nibble Mode, Byte Mode, EPP mode, ECP Mode
8 07 Serial Port Device Driver Development 7 5 7
   
After This Module/Project is over, the trainee should be able to:-
  • have architecture level understanding for Serial Port and device driver
  • understand and implement RS232 Protocol
  • do DataSheet Interpretetion and write device driver accordingly
  • implement Device Operations using Serial Port Driver
  • Establishing Serial Communication between Devices: Byte Transfer
  • use Interrupts for Serial Communication
  • establishing Serial Communication between Devices: File Transfer
  • Establishing Serial Communication between Devices: Two way Communication
9 08 Block Device Driver Development 7 7 7
   
After This Module/Project is over, the trainee should be able to:-
  • understand the Block device driver architecture, Initialize Block device driver, Interfaces Information for Block device, do memory allocation for block device, Registration method with linux kernel, Queue initialization and synchronization method and Timer initialization, Initialization of block device structure, Operations support initialization for the driver
  • Exit of Block driver, Freeing the memory occupied by device driver, Destroying the queue spinlock and timer associated with the driver, Removing all its interfaces with the linux kernel, Unregistration of the driver, Functionality of the Block device, Opening the block device, Closing the block device, IOCTL method for the block device
  • Block transfer function, Media change Functioning, Testing
  • Creating the ramdisk partition, Mounted node associated with the driver on it, Creating the filesystem on ramdisk partition, Transfer the data in ramdisk partition or block device.
10 09 Embedded Linux on ARM using Storage 15 15 15
   
After This Module/Project is over, the trainee should be able to:-
  • build a cross compiled toolchain
  • configure bootloader U-boot
  • internalsConfigure, (cross)compile and boot a Linux kernel
  • Create a simple, BusyBox based root filesystem from cratch
  • understand block filesystems
  • Create Flash filesystems – Manipulating flash partitions
  • Cross-compile libraries and applications
  • Use Embedded system building tools
  • Develop and debug applications for the embedded system
  • Do system optimizations
11 25 ARM Architecture and Embedded Applications 10 10 10
   
After This Module/Project is over, the trainee should be able to:-
  • Write your own applications for Embedded Linux on ARM based board
  • debug your embedded application
  • do system optimization

You could Announce your-self as Embedded Systems Device Engineer.


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

Go to Top ^