Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

Linux Device Driver Programming With Beaglebone Black (LDD1)

via Udemy

Overview

Foundation course on practical Linux device driver programming

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

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

Taught by

FastBit Embedded Brain Academy and Kiran Nayak

Reviews

4.6 rating at Udemy based on 2058 ratings

Start your review of Linux Device Driver Programming With Beaglebone Black (LDD1)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.