15
Sr No. Module name Topic 1 Linux as OS What is open source and its importance. Linux process management Linux File & Directory permissions. Shell script with Exercise Make file concept 2C Basics of C-Revision Functions & Arrays Pointers & Structure Dynamic Memory Allocation MOCK INTERVIEW BY EITRA PANEL 3 Data Structure Stacks Queues Linked List Sorting & Searching Trees (ls,cd,pwd,cal,arch,date etc..). Advanced commands- ssh,scp,df,ifconfig etc. & more) editor.

Training_Schedule_PES_Jan2015.xlsx

Embed Size (px)

Citation preview

Sheet1Sr No.Module nameTopicSub-Topics# daysExpertMode(WebEx/InPerson)Start DateEnd date1Linux as OSWhat is open source and its importance.Why Linux?, Linux vs Windows, Linux features & Characteristics.10Prerna Paliwal/Ashish Purani/Adarsh ParikhInPerson5 Jan 1514 Jan 15Linux - Introduction & basic commands (ls,cd,pwd,cal,arch,date etc..). Advanced commands- ssh,scp,df,ifconfig etc.Linux Internal architecture (/mnt,/proc,/dev,/etc & more)Linux process managementForeground vs Background process,Linux File & Directory permissions.chmod,chgrp & chown commands usage.Mounting filesystems(USB,CDROM).Editors & its implementation-gedit, vim & nano editor.Shell script with ExerciseMake file concept

2CBasics of C-RevisionVariable Names,Data types & Sizes10Prerna PaliwalInPerson15 Jan 1524 Jan 15Type Conversions,Increment & Decrement Operators.Precedence & Order of Evaluation.Header filesFunctions & ArraysStatic Variables,Initialization & Recursion.Multi Dimensional Arrays.Pointers & StructurePointers & Function ArgumentsPointer Array, Pointers to PointersPointer to FunctionsCommand Line ArgumentsBasics of StructuresStructures & FunctionsArrays of Structures & Pointers to StructuresDynamic Memory AllocationHeap,malloc,calloc,realloc,free

MOCK INTERVIEW BY EITRA PANEL24 Jan 153Data StructureStacksOperations On Stacks14Prerna Paliwal/Ekata MehulInPerson25 Jan 157 Feb 15QueuesLinked ListSingly,Singly-Circular,Doubly,Doubly-Circular.Sorting & SearchingSelection SortBubble SortInsertion SortTreesConceptsOperations on Binary Trees

4Operating SystemsOperating System ConceptsProcesses12Prerna Paliwal/Mehul Shah/Adarsh parikhInPerson8 Feb 1519 Feb 15Address SpacesFile system-ext2,ext3,ext4,vfs.Introduction to Kernel & its services.ProcessProcess Model,Process Creation & Termination.Process Hierarchies & States.ThreadsPOSIX threadsImplementing Threads in User Space & Kernel Space.SchedulingIntroductionScheduling in batch systems & Real time systems.Thread scheduling.Memory ManagementVirtual MemoryDebugging Tools.Use of gdb, strace, Valgrind & CVS.

5Implementation on Beagle board - xmSetting up the cross compilation tool chain on host machine.Using tool chain for compiling user space application for target board.9Prerna Paliwal/H.B. DaveInPerson20 Feb 1528 Feb 15Using tool chain for compiling kernel for target board.Using tool chain for compiling kernel modules for target boardInstall SoftwareInstallation of ti-sdk into host machineConfigure the hostFormatting SD Card.Root File system creationBoot Process of Pandaboard/BeagleBoard-xMCross Compilation for ARMConfigure the targetFlash FilesystemNetwork FilesystemMOCK INTERVIEW BY EITRA PANEL6Introduction to Linux Device DriversIntroduction to Kernel modules and kernel sources1Prerna PaliwalInPerson1 Mar 151 Mar 15Understanding kernel configurationBuilding kernel for ubuntu and for Panda boardBuilding dynamically loadable modulesUnderstanding the build process

7Writing a Simple Kernel Module as device driverArchitecture of device driver2Prerna PaliwalInPerson2 Mar 153 Mar 15Initialization functionalityCleanup functionalityCompiling the module & Make file conceptPassing parameters to modulesModule utilities, kernel logs utilitiesModule dependenciesApplication Vs kernel modules

8Writing Char/Misc driversWriting Char/Misc devices-Part 1Anatomy of character device driver7Prerna PaliwalInPerson4 Mar 1510 Mar 15Kernel interface to device driverIntroduction to files operations/system callsMajor and Minor numbersUser interface to device driverIntroduction to device files, types of devicesRegistering and de-registering the character device driverModules spanning multiple filesWriting Char/Misc devices-Part 2Copying data to and from user space and device driverproc files related to device driversLinux kernel error codesGeneral purpose kernel APISmemory/string utilitieslink list data structures

9Linux Concepts Using GPIO Drivers Understanding Platform device and Platform driver concept (Linux device model, http://lxr.free-electrons.com/source/Documentation/driver-model/) Addressing modes (Virtual memory and Physical Memory Addressing) Locking mechanism (Spinlocks) Bitwise operation to manipulate peripheral register values. Managing Interrupt and registration of Interrupt handler Mapping peripheral registers before accessing (read/write) Driver-Application interaction using system calls (like ioctl, read, write, close) Importance of SoC datasheet Pin-Muxing10Neepa Vasa11 Mar 1520 Mar 1510Linux SPI DriverIntroduction to SPIUnderstanding SPI Protocol (SPI bus operation, mode, bits per word, speed)Registration of SPI controller and slave device as a platform device (in board file)Allocate, register and retrieve resources for platform device (peripheral base address, IRQ)Importance of kmalloc, kzalloc and vmallocApplication of WorkqueueImportance of Board fileUnderstanding hierarchical structure of slave, core and master driver10Neepa Vasa21 Mar 1530 Mar 1511Linux I2C DriverIntroduction to I2CUnderstanding I2C Protocol (speed, address and data transfer rules, master-slave analogy)Clock stretching and Bus arbitration (Multiple Master)Registration of SPI controller and slave device as a platform device (in board file)Allocate, register and retrieve resources for platform device7Neepa Vasa31 Mar 156 Apr 1512Linux ConceptsRace conditions and synchronization methods> Need of concurrency in driver> Concurrency protection using locking mechanisms> Mutex & Semaphore> Spinlocks> Atomic variables1Neepa Vasa7 Apr 157 Apr 15Sleeping and wait queues> Blocking and Non-blocking IO> Waiting for IO, sleeping> Conditions to put to sleep> Sleeping mechanisms> Introduction to wait queue> Wait queue APIs> Waking APIs1Neepa Vasa8 Apr 158 Apr 15Interrupt handling> Using interrupt service routine (ISR) to handle interrupts> Registering/De-registering ISR in the driver> ISR prototype> ISR's functionality and constraints> Top and Bottom half handling1Neepa Vasa9 Apr 159 Apr 15Deffered functions (softirq, tasklet, workqueue)> SoftIRQ> Tasklets> Workqueues> Threaded interrupts> Implemention various deffered functionality and interrupt handling in driver> Interfacing with hardware (memory and IO mapped IO)1Neepa Vasa10 Apr 1510 Apr 15sysfs, procfsCreate sys and proc entries using char driver2Neepa Vasa11 Apr 1512 Apr 15Device treehttp://events.linuxfoundation.org/sites/events/files/slides/petazzoni-device-tree-dummies.pdf5Neepa Vasa13 Apr 1517 Apr 1513Linux Sub-systems: ALSA, V4L2, FB, Input, SPI, I2C, MTD (NAND),What is linux device subsystems?Basic intro of subsystem for sound devices - ALSABasic intro of subsystem for sound devices - V4L2, LCD, FBBasic intro of other subsystems - I2C, SPI, GPIO, MTD14Neepa Vasa18 Apr 151 May 1514Mentorship/Final project in Device Driver302 May 1531 May 15

TOTAL DAYS147

Sheet2

Sheet3