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 15, 2022 to Aug 31, 2022
Schedule and Location
# of Course Hours
18.0
Delivery Option
Course Fee(s)
Rate non-credit $2,295.00
Potential Discount(s)
Section Title
Introduction to Embedded Linux Systems Programming
Type
Instructor-Led
Days
T, Th
Time (Central Time)
5:00PM to 8:00PM
Dates
Nov 01, 2022 to Nov 17, 2022
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.