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 ,
Fundamentals Linux kernel module and syntax
Character device driver theory and code implementation
Platform bus, Platform device, and platform driver concepts
Platform driver implementation
Device tree from scratch
Accessing device tree nodes from drivers
Device instantiation through device tree nodes
Device tree properties and node syntax
Device tree overlays
Overlays testing via u-boot
Kernel synchronization services (Mutex, Spinlocks)
Linux device model and sysfs
Linux GPIO subsystem
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