Serving Eastern Massachusetts
| Course Name: | Advanced Embedded Linux Applications Development |
| Time & Date: | 6 - 9PM, Wednesday, Nov. 17, Dec. 1, 8 & 15 |
| Location: | Holiday Inn Select Hotel, 15 Middlesex Canal Park Road, Woburn, MA |
| Speaker: | Mike McCullough, CEO, RTETC |
This 4-day technical training course provides advanced training in the development, debugging, profiling, testing and performance optimization of Embedded Linux applications. The first part of the course focuses on advanced applications development in an Embedded Linux context with a focus on applications development, debugging and test. The latter part of the course covers performance measurement and optimization including detailed Memory Management approaches for embedded systems and deployment considerations for embedded Linux applications software.
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.
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
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
Testing
Design for Test
Unit-Level Testing
System-Level Testing
Automated Testing
Code Coverage Tools
Tracing
ptrace
strace
ftrace
New Tracing Methods
Profiling
Basic Profiling
gprof
Oprofile
Performance Counters
Finding Performance Problems
Some Ideas on Performance Measurement
Types of Performance Problems
Using Performance Tools to Find Areas for Improvement
Application and System Optimization
CPU Usage Optimization
Memory Usage Optimization
Disk I/O Usage Optimization
Boot Time Optimization
Measuring Embedded Linux Performance
Common Considerations
Uncommon Considerations
BootLoader Optimizations
Boot Time Measurements
Effective Memory and Flash Usage
Performance Tool Assistance
Recording Commands and Performance
System Error Messages
Event Logging
LTTng Revisited
Dynamic Probes
User Mode Linux
Virtualization
Improving CPU Performance
Run Queue Statistics
Context Switches and Interrupts
CPU Utilization
Linux Performance Tools for CPU
Process-Specific CPU Performance Tools
Stupid Cache Tricks
Improving System Memory Performance
Memory Performance Statistics
Linux Performance Tools for Memory
Process-Specific Memory Performance Tools
More Stupid Cache Tricks
Improving I/O Performance
Disk I/O
Flash I/O
General File I/O
Improving Boot Performance
Building a Better Smaller Linux
Building a Smaller Application
Filesystem Tips and Tricks
Some Notes on Library Usage
Improving Performance Using
the Compiler
Basic Compiler Optimizations
Inlining Code
Atomic Methods
Library Utilities
Feedback Based Optimization
The Future of Linux Performance Tools
LTTng
Current Holes and Current Trends
Some Final Recommendations
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 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.
Payment received by November 4: IEEE Members $390
Payment received by November 4: Non-members $410
Payment received after November 4: IEEE Members $410
Payment received after November 4: Non-members $435