An Introduction to Hardware Interfacing and Device Driver Development
Workshop Overview
This workshop introduces the fundamental principles of interfacing with hardware in an embedded system, including an overview of device drivers. It discusses plenty of essential practical techniques along with traps for the unwary and how to avoid them. The aim of the session is to de-mystify what can be considered a black art for those who have little or no experience of hardware interfacing. It includes demonstrations on an embedded target system.
Objectives:
- to understand how software interfaces with typical embedded system hardware
- to understand the purpose, structure and typical components of a device driver
Delegates will learn:
- the principles of how hardware devices interact with software
- practical techniques for accessing hardware and handling interrupts from a C program
- what a device driver does and what it typically consists of
- the methods typically used to develop device drivers
Who should attend:
- experienced C programmers new to embedded software development
- software engineers with little or no previous exposure to hardware interfacing
Pre-requisites:
- sound knowledge of C or C++ programming language
Duration:
- 3 hours, including refreshments
Course Materials:
- workbook
Agenda:
Hardware Basics
- what can software see?
- address mapping and decoding
- hardware documentation
Accessing Hardware from C
- techniques for memory-mapped access
- register manipulation
- shared memory
- traps and pitfalls
Interrupt Handling
- what are interrupts? when and why are they used?
- interrupt processing
- interrupt handling in C
- traps and pitfalls
Device Drivers
- purpose of device drivers
- device driver structure and components
- typical development process
Presented by :
"Specialists in building and improving foundation embedded software."
Workshops Outline
This workshop introduces the fundamental principles of interfacing with hardware in an embedded system, including an overview of device drivers. It discusses plenty of essential practical techniques along with traps for the unwary and how to avoid them.
The aim of the session is to de-mystify what can be considered a black art for those who have little or no experience of hardware interfacing.