Innovation... driven by intelligence and logic

Character Device Driver Development

Modules and Projects

in

Embedded Systems Software Engineering


Module 9: Character Device Drive Development:

Abstract:

A character device driver is one that transfers data directly to and from a user process. This is the most common type of device driver and there are plenty of simple examples in the source tree. Character device drivers may transfer data between a user-level process and the device using any scheme other than the system buffer cache. Character drivers control devices such as network cards, terminal devices, printers, and specialized devices such as robots, medical devices, and retail sales devices.

Training Contents for Module 8:Character Device Driver Development

  • Introduction to Device Driver Architecture
  • Device RegistrationIn and itialization
  • Device IO Operations
    • Writing, Reading and Trimming
  • Device Operations
    • Seeking
  • Device Access and Synchronization
    • Semaphores,
    • Completion,
    • Spinlocks,
    • wait Queues,
    • Blocking IO,
    • Atomic Variables,
    • Bit Manipulators
  • IO Control using IOCTL
  • IO Prefectchins using Sequential Files
  • Software Implemented, Pseudo File System. /proc
  • Timing Measurements
    • Delays
    • Timers
    • Tasklets
  • Introcduction To Interrupts
  • Interrupt Handling
    • IRQs
    • ISRs
    • Top half
    • Bottom Half
  • sysfs
  • A Complete Device Driver should be Implemented From Scratch

Other Modules in ESSE Training are as follows.

Sl No

Module/Project

Sessions

labs

Hours

1

Linux System Administration.   click here for more...

5

5

30

2

Data Structures with C using Linux, vim, gcc, gdb, SCCT.   click here for more...

25

35

190

3

Shell Scripting using Bash.   click here for more...

10

5

52

4

Linux Network Administration.   click here for more...

5

5

30

5

C++ with Eclipse and QT on Linux.   click here for more...

20

25

160

6

Linux System Programming using Processes, IPC, Sync & threads.   click here for more...

10

15

80

7

Linux System Programming, Data Management and MySQL.   click here for more...

10

10

44

8

Linux Network Programming using Sockets & NW Protocols.   click here for more...

10

15

80

9

Character Device Driver Development.   click here for more...

20

20

120

10

Parallel Port Device Driver Development.   click here for more...

5

5

30

11

Serial Port Device Driver Development.   click here for more...

5

5

30

12

Block Device Driver Development.   click here for more...

10

10

60

13

Embedded Linux ARM, Configuring and Porting using Storage.   click here for more...

10

10

60

14

An Embedded Linux on ARM, Configuring GUI and Interfaces.   click here for more...

10

10

60

15

Programming and Scripting using Python using Eclipse on Linux.   click here for more...

20

20

120

 

Total

175

Sessions

195

Labs

1130

Hours


__Back__


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

Go to Top ^