- Home
- Engineering Services
- Embedded Software Training Courses
- Hardware Interfacing with C
Course Overview
Hardware Interfacing with C
The development of device drivers and embedded software is full of challenges. But it is possible to write easy-to-read portable C code to control peripherals ranging from simple timers and UARTs to complex custom FPGAs. This important training course covers a large number of subjects ranging from C startup code and the “world before main()” to the development of interrupt-based device drivers that interact with peripheral control and status registers through memory-mapped I/O, overlaid structs, and bitfields.
During the course, attendees will independently complete approximately half a dozen hands-on programming exercises, including several device drivers. These exercises are interspersed with the lectures. Attendees will use their computer to compile their programs and then download them for execution on an embedded target board with its own processor, memory, and peripherals.
Topics covered during this course include:
- The C Standards
- Embedded C Fundamentals
- Peripheral Control
- Interrupt Handling
- Language Choice
This course is appropriate for:
- Programmers with no prior embedded software experience
- Embedded software developers seeking to improve their C skills
- Embedded software developers moving from assembly to C
Prerequisites: Attendees should have a working familiarity with the C programming language.
Requirements: Each student will need a computer, such as a laptop, running XP or a newer version of Windows with an available USB port and administrator privileges. (Windows over Mac OS X generally works.)