Q

Our Course

Home » Trainings » Embedded » Linux Device Drivers Advanced

Linux Device Drivers Advanced

Categories

LEARN ADVANCED DRIVERS AND KERNEL DEBUGGING

Upskill yourself, Get ahead in your career

Hands-on learning

Showcase projects

Make a career switch

Goal:

Advanced linux device drivers course ramp-ups up working professionals to develop advanced Linux device driver and enables you to debug the Kernel with practical projects.

Target audience:

Engineers with exposure to Linux environment.

Duration:

7 days + One month lab assistance.

BENEFITS:

  • Complete exposure: Gain expertise in character, block, USB, network, platform and file-system drivers in one course. Combined with Kernel debugging techniques, you will be able to develop, debug and test all possible drivers on your own
  • Diversified hardware:Hands-on experience in our unique LDD kit & open source based BeagleBone Black
  • Kernel debugging:Learn how to setup and debug standard tools like KDB & KGDB. Also learn how to use specialized tracing tools like usbmon
  • Lab support: For one month to ensure follow-up on assignments and projects
  • Expert trainers:Delivered by industry experienced expert trainers.

 

WORK ON REAL-TIME PROJECTS:

  • USB Mass Storage (MMC) driver
  • USB to Serial converter
  • Various Serial character drivers
  • Complex matrix keypad driver using interrupts and synchronization
  • USB Input drivers
  • Ethernet based network drivers
  • File system drivers
  • Platform drivers

 

ADMISSION PROCEDURE:

  • Call us at +91 809 555 7332, +91 809 555 7333 and enroll
  • Simply send us an email us training@emertxe.com

Course Features

  • Course duration 3 days
  • Daily Duration 8 hours (Class & labs)
  • Assessments Projects
  • Skill level Intermediate
  • Mode Classroom delivery (30%) Practical labs (70%)
  • Support mode Online
Our advanced Linux device drivers courses start with introduction to drivers ecosystem and takes further deeper topics consisting of character driver, block driver, USB driver and PCI driver. It also covers advanced driver topics like network drivers, platform drivers and file-system drivers. Details of Advanced linux device drivers course syllabus with practicals as follows.

Key takeaways:

  • To get you started with writing device drivers in Linux
  • Provide real time hardware exposure
  • Equip you with real-time tools, debugging techniques and industry usage
  • Begin with writing character drivers, followed by USB
  • Learn how to handle interrupts, synchronization and timer
  • Develop Network device drivers
  • Build File system driver
  • Implement Platform drivers
  • Learn how to debug the kernel using KDB / KGDB
  • Specific debugging using USBmon, Network trace etc.

Topics covered:

  • Day1: Introduction & Character device drivers
  • Day2: Hardware access mechanisms, Interrupts, Time keeping, delays and deferred work
  • Day3: Concurrency, USB drivers
  • Day4: Block drivers, PCI drivers
  • Day5: Network drivers
  • Day6: Linux device driver model, Platform devices and drivers
  • Day7: Kernel debugging techniques, File system drivers
  • One month lab assistance

HANDS-ON SESSIONS:

  • The Driver specific Commands & Tools
  • Setting up the Driver Development Environment
  • Writing your “first” Driver
  • Writing various Character Drivers
  • UART (Hardware) Based Drivers
  • Understanding the USB Ecosystem
  • Writing a USB Driver
  • Interrupt implementation using deferred execution
  • Concurrency management using mutex, semaphores
  • Memory based Block Driver
  • Implementation of a char based PCI driver
  • Using kdb debugger
  • Creating proc entries for a driver
  • Using kgdb for debugging
  • Implementing Network device driver (Ethernet)
  • Implementation of Platform driver for RTC
  • Implementation of a File System driver

Prerequisites:

  • Good C & Programming Skills
  • Basic Hands – On Linux Usage
  • Good to have – Understanding of basic File related system calls

Platform Details:

js_loader

The Emertxe Technical Resource Library (TRL) is an initiative by our team of mentors to share the entire course material online. Here you will find course contents, slide-ware, sample code, assignments and a bunch of industry projects. Along with that we are in the process of adding Embedded interview preparation materials so that you can brush up your basics before showing up for an interviews.

All these materials are open and free for any engineer who is interested in having a career in core Embedded Systems domain. Click the button provided below to access the library.

Your Title Goes Here

  • Lesson 1 – Sample Text
  • Lesson 2 – Sample Text
  • Lesson 3 – Sample Text
  • Lesson 4 – Sample Text
  • Lesson 5 – Sample Text

Schedule – Linux Device Drivers – Advanced

Linux Device Drivers Advanced – Weekend workshop – For working professionals

COURSE NAMESTART DATEDURATIONREGISTRATION STATUS
Linux device driversTo be Announced4 days + 1 Month Lab AssistanceRegister Now

Other Weekend workshops – For working professionals

COURSE NAMESTART DATEDURATIONREGISTRATION STATUS
Embedded Android System DevelopmentTo Be Announced Soon4 days + 1 Month Lab Assistance
Register Now
Linux Systems & Basic Shell ScriptingTo Be Announced Soon2 days + 2 Weeks Lab AssistanceRegister Now
Advanced C / Embedded CTo Be Announced Soon5 days + 1 Month Lab AssistanceRegister Now
Micro-ControllersTo Be Announced Soon4 days + 1 Month Lab AssistanceRegister Now
Data StructuresTo Be Announced Soon3 days + 1 Month Lab AssistanceRegister Now
Linux Internals & Network ProgrammingTo Be Announced Soon4 days + 1 Month Lab AssistanceRegister Now
Embedded Linux on ARM (ELARM)To Be Announced Soon4 days + 1 Month Lab AssistanceRegister Now
C++To Be Announced Soon2 days + 1 Month Lab AssistanceRegister Now
Qt Application Programming with C++To Be Announced Soon4 days + 1 Month Lab AssistanceRegister Now
Linux device driversTo Be Announced Soon4 days + 1 Month Lab AssistanceRegister Now

What placement companies say about our trainings?

Emertxe advanced embedded systems course is designed in-sync with industry requirements. Our years of experience and fine-tuning the course contents ensures success of our students. Placement companies gain benefit in terms of better hiring ratio, faster deployment into project and lower cost benefits by hiring our Advanced embedded systems course trained students. Here is a snapshot of what they have to say.

Emertxe student performance was Excellent

Our interview rounds were extremely rigorous. Emertxe students performance was excellent during all 3 rounds of F2F interviews. Though they have 6 months training background, interviewers mentioned that their performance was equivalent to 30 months experienced engineers. This immensely saved ramp up time of the team. Emertxe approach of focusing on the core knowledge along with the attitude-transformation is commendable. Looking forward for long term association with Emertxe.

Sai Madhav P

Director of Engineering, Aricent (An Altran Group)


Very Commendable Performance

Emertxe has helped us strengthen our team with talented new engineers. The recruits though fresh grads from have shown excellent confidence in handling our projects, very commendable performance especially since we work in niche space. Emertxe service and personal attention is extraordinary. We are expanding and Emertxe will surely be a part of our plans. Our thanks to the dedicated team at Emertxe and wish them all the best.

Ashwini Subbaiah

Manager, Human Resources, Chelsio


Very Good Knowledge in System Programming

We have been engaged with Emertxe for fresher’s hiring and corporate training since couple of years. I find the trainers in Emertxe are very qualified and committed. The students from this institute comes with very good knowledge in system programming. They excel in their assignments. They are hardworking , always eager to learn.

Keshav Karunakar

VP – Engineering, PathPartner Technologies


Have Good grasp over the subjects

Our company SHARP Software Development India Pvt Ltd. is a division of SHARP Corporation, Japan and a CMMI Level 5 organization. We are front-runners in the printer products and hence strongly rely on embedded programming. We had some fresher openings in Embedded Systems. Thus, during research we came across Emertxe institute and it proved to be very fruitful as we hired candidates from here. These candidates had a good grasp over the subject expertise they underwent during their course under Emertxe and are proving to be a valuable asset till date. We wish this institute to keep evolving and adapting to the future technological trend and be producing good candidates like always, every year. This immensely saved ramp up time of the team. Emertxe approach of focusing on the core knowledge along with the attitude-transformation is commendable. Looking forward for long term association with Emertxe.

Sagar Madalagi

HR - Sharp India


Knowledge to Skill Transformation by Emertxe

Skilled workforce is the desire of any company. Our system of education system has not aligned itself to cater to this requirement. The industry needs more players like Emertxe who not only understand technology, but also understand how to convert that knowledge quotient into skilled resources. Best wishes to team Emertxe.

Srinivas AN

Regional Head - South - ESSCI (Skill India)


Substantial Contributions by Emertxe Students

Thanks team Emertxe for providing us with good quality candidates to fill important positions at NXP over the last couple of years. The engineers who joined different teams ramped up quickly and are making substantial contributions in Dev, Test and Tools teams. This was possible only because of high quality training (with emphasis on fundamentals) that was imparted to engineers during their stint, while undergoing embedded systems course at Emertxe.

Anish Damodaran

Technical Manager, NXP Semiconductors


Placement Company - Altran , Yocto Projects
Placement Company - Chelsio Communications
Placement Company - Path Partner
Placement Company - Sharp
Placement Company - skill India
Placement Company - NXP semiconductors

Course flow – Linux Device Drivers – Advanced

Linux Device Drivers - Advanced

Delivery Approach

  • Workshop based fast-track delivery
  • In-depth subject coverage by heavy hands-on and projects
  • Best institute for Linux device drivers courses and workshops

09:30 AM – 11:00 AMNetwork Drivers

  • Introduction to Network Stack
  • Architecture
  • Introduction to DMA

11:15 AM – 1:00 PM Socket Buffer

2:00 PM – 03:30 PM Packet Transmission

03:45 PM – 05:30 PM Communication with the PHY

09:30 AM – 11:00 AMLinux Device Driver Model

  • Overview of Device Driver Model
  • Device Structure
  • Device Driver Structure
  • Classes
  • Driver binding

11:15 AM – 1:00 PMImplementation

2:00 PM – 03:30 PMPlatform Devices and Drivers

03:45 PM – 05:30 PMImplementation of platform driver

09:30 AM – 11:00 AMDebugging

  • Debugging Support in the Kernel
  • Debugging by Printing
  • Debugging by Querying
  • Debugging by Watching

11:15 AM – 1:00 PMKernel Debugging

2:00 PM – 03:30 PMFile System Drivers

03:45 PM – 05:30 PMInode Operations

Introduction

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

Writing your first Driver

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

Character Drivers

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

File Operations

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

Project based UpSkilling for professionals

For working professionals applied learning plays paramount of importance. In our workshops our mentors ensure participants are provided with a list of projects. These projects will ensure you will be able to build on what you have leant during the workshop and have something working. Such comprehensive approach makes us as the best Institute in India to learn advanced Linux device drivers course for working professionals.

Ethernet driver for realtek network card

Project brief The goal of this project is to implement a network (ethernet) device driver for realtek network card on PC. We will use a PCI network card to implement the driver. To start off with the driver can be minimalistic; it should be able to send and receive packets and maintains some statistics.Subsequent enhancement can be done further.
By the end of the project you would have obtained hands-on experience in developing Linux network driver interface.
Pre-requisites:

  • Familiarity with Linux network driver interface.
  • Knowledge of PCI device, and how to access them from Linux kernel.
  • Knowledge of TCP/IP protocol and ethernet
Technologies used
  • Ethernet Protocol
  • PCI Protocol
  • Linux network driver framework

Simple File Systems driver

Project brief The goal of this project is to implement a simple file system driver which works with a ramblock/ramfs block device. This includes designing a data structure to store file system information, creation of inode, implementing file operations etc.
Pre-requisites:

  • Basics of Linux File System drivers.
Technologies used
  • Linux File System driver.

I2C Platform driver for Accelerometer

Project brief Implement an I2C Platform driver for 3-Axis Accelerometer device. The driver should use the Linux device driver model and implement the code. Additionally device tree files can be updated for boards like Beaglebone black/Raspberry Pi.
Pre-requisites:

  • Knowledge of I2C protocol and Linux I2C subsystem
  • Basics of platform drivers, Linux device driver model
  • Kernel Cross-compilation
Technologies used
  • I2C Protocol
  • Linux I2C Subsystem
  • Accelerometer
  • Device Tree

SPI Platform driver for Accelerometer

Project brief Implement an SPI Platform driver for 3-Axis Accelerometer device. The driver should use the Linux device driver model and implement the code. Additionally device tree files can be updated for boards like Beaglebone black/Raspberry Pi.
Pre-requisites:

  • Knowledge of SPI protocol and Linux SPI subsystem
  • Basics of platform drivers, Linux device driver model
  • Kernel Cross-compilation
Technologies used
  • SPI Protocol
  • Linux SPI Subsystem
  • Accelerometer
  • Accelerometer
  • Device Tree

FAQ – Linux Device Drivers – Advanced

We are pretty sure you will have lot of questions before joining our Advanced Linux device drivers course. Here are the frequently asked questions for your reference. In case you still have anything specific write to us at training@emertxe.com

Course FAQ

What is the difference between this and Linux device drivers?
The Linux device drivers (intermediate) course is to provide developers a kick-start with device drivers. It covers essential parts of driver development, but it doesn’t talk about advanced aspects like network drivers, platform drivers, file-systems drivers etc. In the advanced course it covers such topics to provide you with a complete device driver development exposure. By taking up advanced course you will get comprehensive knowledge about device drivers. Such approach makes us the best institute in India to learn advanced Linux device drivers course.
Who should take up this course?
This course is ideal for anyone interested in writing Linux device drivers. Working professionals looking to gain knowledge in this domain. Having some background in Linux is necessary as Linux device drivers workshop is an advanced course.
Why debugging techniques are highlighted in this course?
Given the fact that Linux Kernel is a complex piece of code and most of the driver development happens inside the Kernel, doing effective debugging plays a crucial part. Sine we are introducing advanced topics of device drivers in the course, it will remain incomplete if developers are not aware how to troubleshoot / fix issues. Hence a variety of hands-on topics introduced under the debugging techniques (Querying, Printing, Watching, Tracing etc…) which in combination provides power tools & techniques that will help you in real time problem solving.
What benefits I can get by taking up this workshop?
Technically you will be able to write Linux device drivers on your own by the end of the workshop. With Emertxe Linux Device Drivers learning kit SDK you will be able to develop many interesting drivers all on your own. Key benefits are summarized as follows:

  • Gain edge at your workplace as Linux Device Driver is a hot skill in industry
  • Create some cool products using our self-learning kits
  • Get a real feel of ‘idea-to-realization’ by becoming a maker of things
  • Interact with our expert mentors (even after the workshop)
I am a working professional. How this course will help me?
Compared to other topics, Linux device driver is a technically advanced topic as it requires deeper Linux kernel knowledge. As a working professional by acquiring this knowledge & working on some project will enhance your probability of moving onto internal job change in your current organization or apply for a technically higher profile job outside. With devices becoming more diverse, Linux device drivers skill has become one of the hot and most sought after skill in embedded industry today. By riding this trend you can advance your career.
I already have idea about device drivers. How will this help me?
We understand target audience will have different level of understanding about Linux drivers. It is our best interest to deliver the workshop where the whole class can benefit. If you already have some idea, it will be an added advantage to grasp workshop contents better. During hands-on session we will specifically provide some advanced aspects of drivers (ex: USB) for you to practice and build deeper skills. I already have some idea about device drivers. How does this workshop help me?

We understand target audience will have different level of understanding about Linux drivers. It is our best interest to deliver the workshop where the whole class can benefit. If you already have some idea, it will be an added advantage to grasp workshop contents better. During hands-on session we will specifically provide some advanced aspects of drivers (ex: USB) for you to practice and build deeper skills.

Projects & Trainer FAQ

What projects can I work on after course completion?
There are many projects that you can work on based on the course learning. A sample list of projects are provided below.

  • USB Mass Storage (MMC) driver
  • USB to Serial converter
  • Complex matrix keypad driver using interrupts and synchronization
  • Ethernet based network drivers
  • File system drivers
  • Platform drivers

Such comprehensive list of project based learning makes us the best Institute in India to learn advanced linux device drivers course.

How working on these projects enhance my technical profile?
Our projects are designed based on practical industrial use-case, thereby you will be able to apply them in real time projects. On the other hand these projects are scoped well to be executed independently in a relatively shorter duration of time considering your other commitment. After working on them will give you necessary technical depth and application aspects thereby it will definitely enhance your technical profile.
Who are the trainers for Linux device drivers workshop?

Trainers (mentors in Emertxe) for this workshop are professionals having worked with organizations like Samsung, HP, Novell, Huawei etc., that makes Emertxe as one of the best Linux training institutes in Bangalore. They bring in 18+ years of experience on average. Our mentors understand industry requirements very well in order to maximize the value. Added to that, our mentors are passionate about training, which enables you to write a device driver on your own by the end of the workshop.

What do you mean by one month of lab assistance?
Linux device drivers workshop is conducted on two consecutive weekends. Contents are delivered in a workshop manner, which is power packed. However to realize the real benefit of this workshop, participants need to work on some real time projects / assignments to make the learning effective. In order to support this need, we provide one month lab assistance after the course. During this period our mentors will be providing you support when you are facing difficulty in building device drivers. This includes debugging issues in pair or clarifying your doubts using our online ecosystem. This way your learning will be complete & effective.
I am interested in buying kits. Will you help me?
Sure. Please get in touch with our mentors or admin team. We will do the needful.
I could see we use BeagleBone also in this course. Why so?
In order to provide enriched learning experience, we would like to have diversified set of hardware in our courses. In the similar lines BeagleBone is introduced to demonstrate network debugging & platform driver development.
More Questions?

+91 809 555 7332

training@emertxe.com

More Questions?

+91 809 555 7333

training@emertxe.com

Courses you may like further

Q