Linux is popular because it’s powerful, portable, and free. These features also make Linux attractive for use in embedded systems. Unfortunately, Embedded Linux can be challenging to configure and use correctly with custom hardware. This course examines the Linux porting, development, and debugging processes. Students will also learn how to write Linux device drivers, interrupt service routines, and other code that interfaces directly to the electronics.
Length/Options
- 2 days (lecture only)
- 3-4 days (hands-on)
Audience
- Embedded developers evaluating or using Linux
Prerequisites
- Familiarity with the C programming language
- Familiarity with embedded software development
Related Courses
Outline
- Free and Open Source Licenses
- Free vs. Open Source
- GPL, LGPL, BSD, etc.
- License Implications
- Installing the GNU Toolchain
- Building from Source
- Using Commercial Toolchains
- Building and Installing an Embedded Linux Kernel
- The Bootloader Startup Process
- The Kernel Startup Process
- Enabling and Disabling Kernel Features
- Building and Installing an Embedded Linux Runtime
- Building and Installing GNU libc and Other Essentials
- Setting up a Root Directory Structure
- Providing a Root Filesystem
- Linux Kernel Debugging
- Debugging using JTAG Adapters
- Debugging via KDB
- Linux Device Drivers and Interrupt Handlers
- How Linux Manages Interrupts
- Properly Configuring Existing Device Drivers
- Implementing Your Own Character, Block, and USB Devices
- Using Loadable Modules for Device Drivers
- Debugging Linux Device Drivers and Interrupt Handlers
- Embedded Linux Applications
- Shared Libraries vs. Static Linking
- Security in Embedded Linux Systems
- Debugging Embedded Linux Applications
- Device Management
- To login, or Not To login
- Internet-based Device Management
- Embedded Webservers and E-mail
Hands-On Tools/Platform
Learn More
To request pricing or dates, or for more information about this course, contact us.