Skip to main content

+1 866 653-6233 LinkedIn Software Expert Witness Directory

About Us Contact Us

Barr Group Software Experts

Barr Group Software Experts

Main navigation

  • Expert Services
    • Consulting Experts in Software and Electronics
    • Expert Reports by Testifying Software Experts
    • Reverse Engineering and Forensic Analysis
    • Software Source Code Review and Analysis
  • Areas of Expertise
    • Left Side
      • Artificial Intelligence
      • Automotive Systems
      • Cloud Computing
      • Computer Security
      • Consumer Electronics
      • Electronic Circuits
      • Enterprise Software
      • Financial Technology
      • Firmware and IoT
    • Right Side
      • Industrial Controls
      • Mechanical Design
      • Medical Devices
      • Military & Aerospace
      • Mobile Devices & Apps
      • Optical Equipment
      • Renewable Energy
      • Signal Processing
      • Telecommunications
  • Matters & Venues
    • Patent Infringement and Invalidity Experts
    • Software Copyright and Trade Secrets Experts
    • Product Liability and Failure Analysis Experts
    • Contract Disputes and Software Project Failures
    • Venues and Clients
  • Directory
  • Case Studies
    • DirecTV Anti-Piracy
    • Samsung Software Copyright
    • Toyota Runaway Cars
  • Resources
    • Expert Witness Blog
    • Source Code Review in Litigation
    • Software Source Code Discovery

Embedded Linux Customization and Driver Development

  1. Home
  2. Engineering Services
  3. Embedded Software Training Courses
  4. Embedded Linux Customization and Driver Development

Course Overview

Embedded Linux Customization and Driver Development

Course Length
3 Days
CEUs
2.00
Format
Hands-on/Lecture

Whether you are developing Linux device drivers for unsupported peripherals or writing a board support package (BSP) to port the operating system to custom embedded hardware, there's a steep learning curve. Through a mix of lectures and hands-on programming exercises on real hardware, this course will help you quickly move on to developing your own Linux driver code. Major topics include the Linux driver model and device frameworks, debugging tools and techniques, as well as hardware initialization and interfacing, interrupt support, multithreading, and synchronization.

Attendees will complete approximately half a dozen hands-on exercises on an ARM board that they will be able to keep when the course is over.

Topics covered during this course include:

  • Introduction to Embedded Linux
    • Linux Kernel Architecture
    • Linux Bootloader Configuration and Customization
    • Linux Kernel Configuration and Customization
    • Creating A Linux Root Filesystem Using BusyBox 
  • Linux Device Drivers
    • Loadable Kernel Modules
    • Linux Device Model
    • Linux Bus Devices
    • Linux Class Devices
    • Accessing Hardware Using MMIO
    • Kernel Interrupts, Multithreading, and Synchronization

This course is appropriate for:

  • Embedded software developers learning to write drivers for Linux (or Android)
  • Embedded software developers responsible for porting Linux to custom hardware

Prerequisites:  Attendees should have prior programming experience in the C programming language.

Explore this course:

  • Course Syllabus
  • Reviews
  • Related Courses

Request an Expert

(866) 653-6233

Syllabus

The following is a summary of the major course topics and should not be considered the section-by-subsection lecture breakdown.

Introduction

  • Linux Kit Overview
  • ARM Dev Kit Introduction and Setup
  • GNU Toolchain Introduction
  • Building and Deploying U-Boot
  • Debugging Options

Hardware Interfacing And Bootloader Customization

  • Intro to Embedded Hardware
  • Intro to ARM SoC Architecture
  • Intro to Peripheral Controllers
  • Intro to GPIOs
  • U-Boot Architecture

Intro To The Linux Kernel 

  • Software Frameworks
  • Linux Kernel Architectural
  • ARM Linux Boot Process
  • ARM Linux Machine-Specific Initializations
  • Building, Deploying and Testing The Linux Kernel
  • Configuring and Building BusyBox
  • Creating Root Filesystem FHS Directories
  • Creating Root Filesystem Configuration Files And Scripts
  • Deploying and Testing a Linux Root Filesystem

Advanced The Linux Kernel Architecture

  • Kernel System Calls
  • Kernel Scheduler and Multithreading
  • ARM Memory Mapped Units
  • Linux Kernel Debugging
  • ARM Kernel Board-Specific Initialization
  • Intro to Platform Bus Devices

Loadable Kernel Modules

  • Introduction to Kernel Modules
  • Kernel Module Framework and Lifecycle
  • GNU Makefiles
  • Building an LKM Out-Of-Tree
  • Loading and Testing LKMs

Linux Bus Devices

  • Sysfs and the Linux Device Model
  • Sysfs Attributes
  • Bus Devices and Frameworks
  • Bus Device Drivers

Accessing MMIO Hardware

  • Getting Cookies For PCI and MMIO Devices
  • Accessing Peripheral Controller Registers Using Cookies

Linux Class Devices

  • Linux Devices Classes Frameworks
  • Creating Class Devices
  • Misc Device Class
  • Supporting open(), close(), read(), write()
  • Passing Data Between Kernel and User-Space
  • Supporting IOCTL calls

Kernel Interrupts, Multithreading, And Synchronization

  • Interrupt Handling
  • Kernel Threads
  • Waiting / Sleeping
  • Kernel Workqueues
  • Concurrent Access
  • Atomic Variables
  • Critical Sections
Reviews
Related Courses
  • Embedded Android Boot Camp
  • Embedded Software Boot Camp
  • Reliable Multithreaded Programming

Find out More

Contact us now to find out more about this course or to enquire about an on-site training at your company.

Recording Policy

Barr Group's courses may not be audiotaped, videotaped, or photographed without consent from Barr Group's executive team.

Barr Group logo
Call us

Expert Services

  • Source Code Review Services
  • Expert Witness Directory
  • Reverse Engineering Services
  • Expert Reports & Testimony
  • How-To Technical Articles
  • Engineering Services

Latest Insights

  • Payment Processing and e-Payments Fraud
  • Albert Einstein Expert Witness
  • Medical Device Litigation and FDA 510(k)
  • Personality Traits of the Best Expert Witnesses

Website contents copyright © 2012-2025 by Barr Group. | Barr Group's logo is a U.S.-registered ® trademark.

SITEMAP  |  PRIVACY