Serving Eastern Massachusetts
| Course Name: | C6 - Embedded Linux Applications Design and Optimization (Advanced Linux) |
| Time & Date: | 6:00 - 9:00 PM, Thursdays, April 5, 12, 19, 26 |
| 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.
Linux and the GPL
Building the Kernel Source Code
Embedded Linux Kernels
BSPs and SDKs
Linux References (Books and Online)
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
Standard I/O Operations
Scatter-Gather and Asynchronous I/O
Poll, Select and Epoll
Memory-Mapped I/O
File Advice
I/O Schedulers
Linux and Memory
Managing Aligned Memory
Anonymous Memory Mappings
Debugging Memory Allocations
Locking Memory
Reserving Memory
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 Tools
The /proc Filesystem
Advanced Logging Methods
KGDB and KDB
Crash Dumps
Design for Test
Unit-Level Testing
System-Level Testing
Automated Testing
Code Coverage Tools
ptrace
strace
ftrace
New Tracing Methods
Basic Profiling
gprof
Oprofile
Performance Counters
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
Common Considerations
Uncommon Considerations
BootLoader Optimizations
Boot Time Measurements
Effective Memory and Flash Usage
Recording Commands and Performance
System Error Messages
Event Logging
LTTng Revisited
Dynamic Probes
User Mode Linux
Virtualization
Run Queue Statistics
Context Switches and Interrupts
CPU Utilization
Linux Performance Tools for CPU
Process-Specific CPU Performance Tools
Stupid Cache Tricks
Memory Performance Statistics
Linux Performance Tools for Memory
Process-Specific Memory Performance Tools
More Stupid Cache Tricks
Disk I/O
Flash I/O
General File I/O
Building a Better Smaller Linux
Building a Smaller Application
Filesystem Tips and Tricks
Some Notes on Library Usage
Basic Compiler Optimizations
Inlining Code
Atomic Methods
Library Utilities
Feedback Based Optimization
LTTng
Current Holes and Current Trends
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 March 22 : IEEE Members $390
Payment received by March 22 : Non-members $410
Payment received after March 22 : IEEE Members $410
Payment received after March 22 : Non-members $435