Loading...

Course Description

This instructor-led course will give you the step-by-step framework for developing an embedded Linux product. Starting with the cross-compiler, you’ll learn about setting up a development system, boot loaders, the kernel, drivers, device tree, and all the various software and decisions that need to be made when building a user space root filesystem. Hands-on labs with a RISC-V based emulated development target allow students to practice both coding and building the various parts of the system covered in class.

Course Outline

  • How to Work in OSS Projects
  • Embedded and Real-Time Systems Concepts
  • Cross-Development Environments: Goals and Needs
  • Build System
  • Cross-Development Toolchain
  • QEMU
  • How to Work in OSS Projects
  • Embedded and Real-Time Systems Concepts
  • Cross-Development Environments: Goals and Needs
  • Kbuild System
  • Cross-Development Toolchain
  • Booting a Target Development Board from uSD
  • Booting a Target Development Board over Ethernet
  • Boot loaders and U-Boot
  • Kernel Configuration, Compilation, Booting
  • Device Drivers
  • Device Trees
  • Target Filesystem Packaging
  • Build Target Root Filesystem
  • Root Filesystem Choices
  • Configuring uClibc
  • Another Alternate C-library: musl
  •  Build BusyBox Utility Suite
  • Kernel Monitoring and Debugging
  • Right-Sizing
  • Memory Technology Devices (Flash Memory Filesystems)
  • Compressed Filesystems
  • System Upgrades
  • Real-Time Extensions
  • Closing and Evaluation Survey
  • Basic Target Development Board Setup
  • Booting the Target Development Board from uSD
  • Booting a Target Development Board over Ethernet
  • Kernel Architecture Preview
  • Kernel Source Tree Overview
  • Kernel Programming Preview

Learner Outcomes

  • Master the requirements to setup a Linux cross development environment Use GNU tool chain to compile Linux Kernel and applications code
  • Develop and download applications to run on an embedded Linux target system
  • Describe the steps to write, compile and load/unload Linux Kernel modules
  • Summarize the Linux File System and initramfs (Initial RAM File System)
  • Build BusyBox Utility Suite
  • Kernel Monitoring and Debugging
  • Right-Sizing
  • Memory Technology Devices (Flash Memory Filesystems)
  • Compressed Filesystems
  • System Upgrades
  • Real-Time Extensions
  • Closing and Evaluation Survey
  • Basic Target Development Board Setup
  • Booting the Target Development Board from uSD
  • Booting a Target Development Board over Ethernet
  • Kernel Architecture Preview
  • Kernel Source Tree Overview
  • Kernel Programming Preview

Prerequisites

Experience in C or C++ programming and Linux.

Applies Towards the Following Certificates

Loading...
Enroll Now - Select a section to enroll in
Section Title
Introduction to Embedded Linux Systems Programming
Type
Instructor-Led
Days
M, W
Time (Central Time)
5:00PM to 8:00PM
Dates
Aug 21, 2023 to Aug 30, 2023
Type
Instructor-Led
Days
W, Th
Time (Central Time)
5:30PM to 8:30PM
Dates
Sep 06, 2023 to Sep 07, 2023
Schedule and Location
# of Course Hours
18.0
Delivery Option
Course Fee(s)
Rate non-credit $2,295.00
Potential Discount(s)
Required fields are indicated by .
*Academic Unit eligibility to be determined by college/university in which you are enrolled in a degree seeking program.