Sie sind auf Seite 1von 16

Sr No.

Module name

1 Linux as OS

2C

MOCK INTERVIEW BY EITRA PANEL


3 Data Structure

4 Operating Systems

5 Implementation on
Beagle board - xm

MOCK INTERVIEW BY EITRA PANEL


6 Introduction to Linux
Device Drivers

7 Writing a Simple Kernel


Module as device driver

8 Writing Char/Misc
drivers

9 Linux Concepts Using


GPIO Drivers

10 Linux SPI Driver

11 Linux I2C Driver

12

Linux Concepts

13 Linux Sub-systems:
ALSA, V4L2, FB, Input,
SPI, I2C, MTD (NAND),
14 Mentorship/Final
project in Device Driver

Topic

What is open source and its importance.


Linux - 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 management
Linux File & Directory permissions.
Editors & its implementation-gedit, vim & nano editor.
Shell script with Exercise
Make file concept
Basics of C-Revision

Functions & Arrays


Pointers & Structure

Dynamic Memory Allocation

A PANEL

Stacks
Queues
Linked List
Sorting & Searching

Trees

Operating System Concepts

Process
Threads

Scheduling

Memory Management
Debugging Tools.

Setting up the cross compilation tool chain on host machine.


Using tool chain for compiling kernel for target board.
Install Software
Configure the host

Configure the target

A PANEL

Writing Char/Misc devices-Part 1

Writing Char/Misc devices-Part 2

Understanding Platform device and Platform driver


concept (Linux device model, http://lxr.freeelectrons.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-Muxing
Introduction to SPI
Understanding 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 vmalloc
Application of Workqueue
Importance of Board file
Understanding hierarchical structure of slave, core and
master driver
Introduction to I2C
Understanding 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
device

Race conditions and synchronization methods

Sleeping and wait queues

Interrupt handling

Deffered functions (softirq, tasklet, workqueue)

sysfs, procfs
Device tree

What
Basic
Basic
FB
Basic

is linux device subsystems?


intro of subsystem for sound devices - ALSA
intro of subsystem for sound devices - V4L2, LCD,
intro of other subsystems - I2C, SPI, GPIO, MTD

TOTAL DAYS

Sub-Topics

Why Linux?, Linux vs Windows, Linux features &


Characteristics.

# days

Expert

10 Prerna
Paliwal/Ashish
Purani/Adarsh
Parikh

Foreground vs Background process,


chmod,chgrp & chown commands usage.
Mounting filesystems(USB,CDROM).

Variable Names,Data types & Sizes


Type Conversions,Increment & Decrement
Operators.Precedence & Order of Evaluation.
Header files
Static Variables,Initialization & Recursion.
Multi Dimensional Arrays.
Pointers & Function Arguments
Pointer Array, Pointers to Pointers
Pointer to Functions
Command Line Arguments
Basics of Structures
Structures & Functions
Arrays of Structures & Pointers to Structures
Heap,malloc,calloc,realloc,free

Operations On Stacks

10 Prerna Paliwal

14 Prerna
Paliwal/Ekata
Mehul

Singly,Singly-Circular,Doubly,Doubly-Circular.
Selection Sort
Bubble Sort
Insertion Sort
Concepts
Operations on Binary Trees

Processes
Address Spaces
File system-ext2,ext3,ext4,vfs.

12 Prerna
Paliwal/Mehul
Shah/Adarsh
parikh

Introduction to Kernel & its services.


Process Model,Process Creation & Termination.
Process Hierarchies & States.
POSIX threads
Implementing Threads in User Space & Kernel Space.
Introduction
Scheduling in batch systems & Real time systems.
Thread scheduling.
Virtual Memory
Use of gdb, strace, Valgrind & CVS.

Using tool chain for compiling user space application


for target board.
Using tool chain for compiling kernel modules for target
board
Installation of ti-sdk into host machine
Formatting SD Card.
Root File system creation
Boot Process of Pandaboard/BeagleBoard-xM
Cross Compilation for ARM
Flash Filesystem
Network Filesystem

9 Prerna
Paliwal/H.B.
Dave

1 Prerna Paliwal
Introduction to Kernel modules and kernel sources
Understanding kernel configuration
Building kernel for ubuntu and for Panda board
Building dynamically loadable modules
Understanding the build process

2 Prerna Paliwal
Architecture of device driver
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

7 Prerna Paliwal
Anatomy of character device driver
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
Copying data to and from user space and device driver
proc files related to device drivers
Linux kernel error codes
General purpose kernel APIS
memory/string utilities
link list data structures

10 Neepa Vasa

10 Neepa Vasa

7 Neepa Vasa

> Need of concurrency in driver


> Concurrency protection using locking
mechanisms
> Mutex & Semaphore
> Spinlocks
> Atomic variables

1 Neepa Vasa

>
>
>
>
>
>
>

1 Neepa Vasa

Blocking and Non-blocking IO


Waiting for IO, sleeping
Conditions to put to sleep
Sleeping mechanisms
Introduction to wait queue
Wait queue APIs
Waking APIs

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

1 Neepa Vasa

> SoftIRQ
> Tasklets
> Workqueues
> Threaded interrupts
> Implemention various deffered
functionality and interrupt handling in driver
> Interfacing with hardware (memory and
IO mapped IO)

1 Neepa Vasa

Create sys and proc entries using char


driver

2 Neepa Vasa

http://events.linuxfoundation.org/sites/events/files/slides/petazzoni-device-tree-dummies.pdf
5 Neepa Vasa

14 Neepa Vasa

30

147

Mode(WebEx/InPerson)

Start Date

End date

InPerson

5 Jan 15

14 Jan 15

InPerson

15 Jan 15

24 Jan 15

InPerson

24 Jan 15
25 Jan 15

7 Feb 15

InPerson

8 Feb 15

19 Feb 15

InPerson

20 Feb 15

28 Feb 15

InPerson

1 Mar 15

1 Mar 15

InPerson

2 Mar 15

3 Mar 15

InPerson

4 Mar 15

10 Mar 15

11 Mar 15

20 Mar 15

21 Mar 15

30 Mar 15

31 Mar 15

6 Apr 15

7 Apr 15

7 Apr 15

8 Apr 15

8 Apr 15

9 Apr 15

9 Apr 15

10 Apr 15

10 Apr 15

11 Apr 15

12 Apr 15

13 Apr 15

17 Apr 15

18 Apr 15

1 May 15

2 May 15

31 May 15

Das könnte Ihnen auch gefallen