Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Linux Device Driver Programming With Beaglebone Black (LDD1)
Highest Rated
Rating: 4.7 out of 5(2,655 ratings)
20,594 students

Linux Device Driver Programming With Beaglebone Black (LDD1)

Foundation course on practical Linux device driver programming
Last updated 6/2026
English

What you'll learn

  • Fundamentals of Linux kernel module and writing syntax
  • Makefile and LKM build procedure
  • Character device driver implementation
  • Platform bus, Platform device, and platform driver concepts
  • Platform driver implementation
  • Learn device tree from scratch
  • Device tree node syntax, properties of device tree nodes
  • Kernel APIs to process device tree nodes
  • Device instantiation through device tree nodes
  • Device tree overlays and overlays testing via u-boot
  • Kernel synchronization services , mutex , spinlocks usage
  • Linux device model and sysfs
  • Linux GPIO Subsystem
  • Linux pinctrl subsystem

Course content

14 sections151 lectures21h 52m total length
  • About the instructor0:18
  • Source code and course materials0:05
  • Host and target setup7:56
  • Tool-chain download2:21
  • Important Note0:42
  • Installing gparted application1:07
  • Tool-chain installation and PATH settings3:31
  • Note for the students0:07
  • Target preparation : Serial debug setup5:27
  • Important documents0:06
  • Understanding booting sequence of beaglebone black hardware6:21
  • Preparing SD card for SD boot6:18
  • Copying boot images to SD card6:39
  • Booting BBB via SD card13:35
  • Making SD boot default on BBB by erasing eMMC MBR5:44
  • Updating Linux kernel image2:27
  • Linux kernel compilation5:08
  • Modules compilation0:35
  • Modules install1:44
  • Update new boot images and modules in SD card4:54
  • Enabling internet over USB8:21

Requirements

  • Students must be familiar with basic Linux command usage
  • Students must be familiar with 'C' programming language

Description

==> This should be your very first course to dive into the exciting world of "Linux device drivers" <==

In this course you will learn ,

  1. Fundamentals Linux kernel module and syntax

  2. Character device driver theory and code implementation

  3. Platform bus, Platform device, and platform driver concepts

  4. Platform driver implementation

  5. Device tree from scratch

  6. Accessing device tree nodes from drivers

  7. Device instantiation through device tree nodes

  8. Device tree properties and node syntax

  9. Device tree overlays

  10. Overlays testing via u-boot

  11. Kernel synchronization services (Mutex, Spinlocks)

  12. Linux device model and sysfs

  13. Linux GPIO subsystem

  14. Linux pinctrl subsystem


Hardware Requirements:

1) For some exercises involving testing of GPIOs, pinctrl, device tree nodes, overlays, you need a board.

In this course, Beaglebone Black board is being used.

2) Mini USB cable to power BBB

3) USB to UART cable for serial connection with BBB

4) Micro SD card 8/16 GB

5) SD card reader

6) 16x2 LCD and 10K potentiometer

7) Jumper wires

8)Bread board


OS Requirements:

32/64 bit Ubuntu 18.04+ LTS


Learning order of FastBit Embedded Brain Academy Courses,

If you are a beginner in the field of embedded systems, then you can take our courses in the below-mentioned order.
This is just a recommendation from the instructor for beginners.

1) Microcontroller Embedded C Programming: absolute beginners(Embedded C)

2) Embedded Systems Programming on ARM Cortex-M3/M4 Processor(ARM Cortex M4 Processor specific)

3) Mastering Microcontroller with Embedded Driver Development(MCU1)

4) Mastering Microcontroller: TIMERS, PWM, CAN, RTC,LOW POWER(MCU2)

5) Mastering Microcontroller: STM32-LTDC, LCD-TFT, LVGL(MCU3)

6) Embedded System Design using UML State Machines(State machine)

7) Mastering RTOS: Hands-on FreeRTOS and STM32Fx with Debugging(RTOS)

8) ARM Cortex M Microcontroller DMA Programming Demystified(DMA)

9) STM32Fx Microcontroller Custom Bootloader Development(Bootloader)

10) Embedded Linux Step by Step using Beaglebone Black(Linux)

11) Linux device driver programming using Beaglebone Black(LDD1)


Other programming courses

1) Master The Rust Programming Language : Beginner To Advanced

Who this course is for:

  • Students/Hobbyists/Professionals interested in exploring Linux device driver programming