Upload
dabhianand13
View
213
Download
0
Embed Size (px)
Citation preview
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
1/34
Sr
No.Module name Topic Sub-Topics # days
Training
material
Method of
Instruction
Practical
everydayTools Used
1 Lin ux as OS What is open source and its importance.Why Linux?, Linux vs Windows, Linux
features & Characteristics.10 Yes PPT & Practical Linux OS
Linux - Introduction & basic commands (ls,cd,pwd,cal,arch,date etc..).
Linux Internal architecture (/mnt,/proc,/dev,/etc & more)
Linux process management Foreground vs Background process,
Linux File & Directory permissions. chmod,chgrp & chown commands usage.
Mounting filesystems(USB,CDROM).
Editors & its implementation-gedit, vim & nano editor.Vim editor operations
and ro rammin in
Shell script with Exercise
Make file concept
2 C Types,Operators & Expressions. Variable Names,Data types & Sizes 7 Yes PPT & PracticalLogic devlopment by
25 ro ram on each
Linux OS with C
Com ilerType Conversions,Increment & Decrement
O erators.
Precedence & Order of Evaluation.
Control Flow If else,else if,Switch case.
Loops (While,Do-while,For).
Functions & Arrays Static Variables,Initialization & Recursion.
Multi Dimensional Arrays.
Pointers & Function Arguments
Pointers & Structure Pointer Array, Pointers to Pointers
Pointer to Functions
Command Line Arguments
Basics of Structures
Structures & Functions
Typedef
2
1
3 Data Structure Stacks Operations On Stacks 10 Yes PPT & Practical1 major Project in DS +
Pro . For Arra +
Linux OS with C
Com iler
Queues Priority Queues
Device Driver Training Schedule
Mock Interview-1 on C
Expert Session-Teksun Technical Team Presentation on Device Driver,Hardware Board Design and Software
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
2/34
Linked ListSingly,Singly-Circular,Doubly,Doubly-
Circular.
Sorting & Searching Selection Sort
Bubble Sort
Merge Sort
Insertion Sort
Quick Sort
Trees Concepts
Operations On Binary Trees
1
4 Operating Systems Operating System Concepts Processes 10 Yes PPT & Practical Linux OS
Address Spaces
File system-ext2,ext3,ext4,vfs.
Introduction to Kernel & its services.
ProcessProcess Model,Process Creation &
Termination.
Process Hierarchies & States.
Threads POSIX threads
Implementing Threads in User Space &
Kernel Space.
Interprocess Communication (IPC) Race conditions & Critical Regions
Semaphores
Mutex
Sleep & Wakeup.
Scheduling Introduction
Scheduling in batch systems & Real time
s stems.
Thread scheduling.
Memory Management Virtual Memory
Debugging Tools. Use of gdb & strace.
5Implementation on
Bea le board - xmSetting up the cross compilation tool chain on host machine.
Using tool chain for compiling user space
a lication for tar et board.7 Yes PPT & Practical
Cross Compilation for
PandaboardBeagle Board - xm
Using tool chain for compiling kernel for target board.Using tool chain for compiling kernel
modules for tar et board
Mock Interview-2 on Data Structures
Mock Interview-3 by Teksun Team - Device Driver
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
3/34
Install Software Installation of ti-sdk into host machine
Configure the host Formatting SD Card.
Root File system creation
Boot Process of Pandaboard/BeagleBoard-
xM
Cross Compilation for ARM
Configure the target Flash Filesystem
Network Filesystem
6Device Driver
Conce tsIntroduction to Linux Device Drivers
Introduction to Kernel modules and kernel
sources1 Yes PPT & Practical
Lab practicals for Each
To ic+1 ma or ProectKernel 3.0+
Understanding kernel configuration
Building kernel for ubuntu and for Panda
board
Building dynamically loadable modules
Understanding the build process
Writing a Simple Kernel Module as device driver Architecture of device driver 2
Initialization functionality
Cleanup functionality
Compiling the module & Make file concept
Passing parameters to modules
Module utilities, kernel logs utilities
Module dependencies
Application Vs kernel modules
Writing Char/Misc devices-Part 1 Anatomy of character device driver 2
Kernel interface to device driver
Introduction to files operations/system calls
Major and Minor numbers
User interface to device driver
Introduction to device files, types of devices
Registering and de-registering the character
device driver
Modules spanning multiple files
Writing Char/Misc devices-Part 2Copying data to and from user space and
device driver3
proc files related to device drivers
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
4/34
Linux kernel error codes
General purpose kernel APIS
memory/string utilities
link list data structures
IOCTLS choosing ioctl commands
predefined commands
using ioctl arguments
Implementing ioctl command
IPC Pipes
Message queues
Shared Memory
Sockets
Memory management and allocations Physical and virtual memory 2
virtual memory organisation
Physical and virtual memory mapping
Allocators in kernel memory
Kmalloc allocator
page allocator
vmalloc allocator
Implementing memory allocation in driver
Race conditions and synchronization methods Need of concurrency in driver 2
Concurrency protection using locking
mechanisms
Mutex & Semaphore
Spinlocks
Atomic variables
Implementing locking mechanism in driver
Sleeping and wait queues Blocking and Non-blocking IO 2
Waiting for IO, sleeping
Conditions to put to sleep
Sleeping mechanisms
Final Mock Interview for Mentor Sessions by Teksun Device Driver Team
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
5/34
Introduction to wait queue
Wait queue APIs
Waking up
Waking APIs
Implementing waiting/sleep calls in driver
Interrupt handlingUsing interrupt service routine (ISR) to
handle interru ts2
Registering/De-registering ISR in the driver
ISR prototype
ISR's functionality and constraints
Top and Bottom half handling
Deffered functions (softirq, tasklet, workqueue) SoftIRQ 3
Tasklets
Workqueues
Threaded interrupts
Implemention various deffered
functionalit and interru t handlin inInterfacing with hardware (memory and IO
ma ed IONetwork Programming The net_device structure 2
Sockets
Client/server paradigm
Naming scheme and registration
Network driver methods
NAPI the new API
TOTAL
DAYS: 69
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
6/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
7/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
8/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
9/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
10/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
11/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
12/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
13/34
]
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
14/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
15/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
16/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
17/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
18/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
19/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
20/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
21/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
22/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
23/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
24/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
25/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
26/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
27/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
28/34
]]
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
29/34
]
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
30/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
31/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
32/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
33/34
7/25/2019 Copy of Job Oriented DEVICE DRIVER 1 1
34/34