Introduction to Embedded Linux Part II – Fall 2014

When:
October 14, 2014 @ 6:00 pm – 9:00 pm America/New York Timezone
2014-10-14T18:00:00-04:00
2014-10-14T21:00:00-04:00
Where:
Crowne Plaza Hotel
15 Middlesex Canal Park Drive
Woburn, MA 01801
USA
Cost:
See below
Introduction to Embedded Linux Part II - Fall 2014 @ Crowne Plaza Hotel | Woburn | Massachusetts | United States

Cancelled

Date & Time: Tuesday, Oct. 14, Mondays, 20, 27, Nov. 3, 6-9 pm
Location: Crowne Plaza Hotel, 15 Middlesex Canal Park Road, Woburn, MA
Speaker: Mike McCullough, RTETC, LLC

Cancelled

Decision: Monday, Oct 6

Course Summary

This second of two courses provides advanced training in the design, development, debugging, and profiling of Embedded Linux applications. The first part of the course focuses on advanced applications design in an Embedded Linux context with a focus on embedded development and debugging. The latter part of the course covers testing, booting and configuring of Embedded Linux systems as well as tracing and profiling methods for improving overall Embedded Linux performance.

Who Should Attend
The course is designed for real-time engineers who are developing advanced Linux applications for Embedded Linux distributions. It is also targeted at experienced developers requiring a refresher course on advanced Embedded Linux applications development.

Course Objectives

• To gain an understanding of advanced Embedded Linux applications development.
• To understand methods for debugging, profiling and testing Embedded Linux applications
• To provide an overview of Linux application performance measurement.
• To give students the confidence to apply these concepts to their next Embedded Linux project.

OUTLINE

Course Schedule Day 1
Getting Started with Embedded Linux
Linux and the GPL
Building the Kernel Source Code
Embedded Linux Kernels
BSPs and SDKs
Linux References (Books and Online)
Embedded Linux Applications Development Review
Multi-threading Review
Signals, Synchronization and Locking
Inter-Process Communications (IPC) Review
Memory Management and Paging
Error Handling in Embedded Linux
Timing and Timers
Files and Filesystems
The I/O Subsystem: Talking to Hardware
Advanced I/O Operations
Standard I/O Operations
Scatter-Gather and Asynchronous I/O
Poll, Select and Epoll
Memory-Mapped I/O
File Advice
I/O Schedulers
Course Schedule Day 2
Advanced Memory Operations
Linux and Memory
Managing Aligned Memory
Anonymous Memory Mappings
Debugging Memory Allocations
Locking Memory
Reserving Memory
Debugging
GDB, GDB Server and the GDB Server Debugger
Other Debug Tools
An Eclipse Remote Debug Example
Advanced Debug with printk, syslogd and LTTng
System-Level Debug
System-Level Debug Tools
The /proc Filesystem
Advanced Logging Methods
KGDB and KDB
Crash Dumps

Course Schedule Day 3
Software Testing
Design for Test
Unit-Level Testing
System-Level Testing
Automated Testing
Code Coverage Tools
Interrupt and Exception Handling
Bottom Halves and Deferring Work
The Linux Boot Process
The Root Filesystem
Desktop Linux Boot
Bootloaders
Embedded Linux Boot
Course Schedule Day 4
Managing Embedded Linux Builds
Configuring and Building Linux
System Architecture Design Approaches
Deploying Embedded Linux
Choosing and Building the Root Filesystem
Useful Embedded Filesystems
Module Decisions
Final IT Work
Tracing
ptrace
strace
ftrace
New Tracing Methods
Profiling
Basic Profiling
gprof
Oprofile
Performance Counters
Using DebugFS
Some Final Recommendations

Lecturer Bio
Mike McCullough is President and CEO of RTETC, LLC. Mike has a BS in Computer Engineering and an MS in Systems Engineering from Boston University. A 20-year electronics veteran, he has held various positions at LynuxWorks, Tilera, Embedded Planet, Wind River Systems, Lockheed Sanders, Stratus Computer and Apollo Computer. RTETC, LLC is a provider of Eclipse-based software tools, training and consulting for the embedded systems market.