Copy of Job Oriented DEVICE DRIVER 1 1

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