Embedded Programming with the GNU Development Tools Course
The GNU compiler, debugger, and related development tools are unmatched in their power and portability. Embedded programmers regularly choose the GNU tools and subsequently spend months or years getting to know their many features and options intimately. This course is a combination of lectures and hands-on lab exercises that will turn you into a GNU tools power user in less than a week. The course is appropriate for both C and C++ programmers.
Length/Options
- 2 days (lecture only)
- 3-4 days (hands-on)
Audience
- Embedded developers evaluating or using the GNU toolchain
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 Managing Applications
- Command-Line Compilation
- Using gcc with a Makefile
- Converting to Intel Hex or Motorola S Format
- Disassembling Object Files and Applications
- Merging Application Images for Flash and ROM
- Constructing, Managing, and Using Libraries
- Understanding Application Startup and CRT0
- GNU Linker Command Syntax
- Putting Things in their Proper Places
- Filling and Padding Images
- Supporting Initialized Data
- Porting newlib to Embedded Hardware
- Building and Installing newlib
- Understanding newlib’s Reentrancy
- Making Dynamic Memory Allocation Work
- Integrating newlib with an RTOS or Debug Agent
- Inline Assembly Syntax and Other C Language Extensions
- Sectioning, Alignment, and Other Commands
- Integrating Assembly Code with the C Runtime
- Implementing an Interrupt Handler in C with GCC
- Debugging Under GNU
- Simulation, JTAG, BDM, and Other Options
- Reviews of Some Commercial Debugging Products
- Using GCC for Embedded Development in C++
- Brief Observations on Performance and Safety
- Building the GNU C++ Compiler
- Getting new and delete to Work Properly
- How GCC Implements Common C++ Constructs
Hands-On Tools/Platform
- GNU C Compiler and Embedded Development Tools
- Cogent CSB6xx Single-Board Computer
Learn More
To request pricing or dates, or for more information about this course, contact us.
