Real-Time Programming for Embedded Systems
Provides an introduction to embedded software concepts and the fundamental issues in real-time design.
Course Description
The Real-Time Programming for Embedded Systems course provides an introduction to embedded software concepts and the fundamental issues in real-time design. This course provides the foundation for all other Wind River® courses.
Course Results
After this course, participants will be able to perform the following:
- Design and implement a real-time application
- Describe the capabilities of a real-time operating system
- Use good programming practices for a real-time system
Products Supported
- Applies to all embedded software
Who Should Attend
- Real-time software systems architects, project managers, technical support engineers, and technical consultants who have responsibility for designing, structuring, and implementing the software for real-time and embedded systems using a real-time operating system
Course Format
- This two-day expert-led course consists of lectures.
- Participants receive individual guidance from an expert engineer who has extensive experience with Wind River technologies.
Syllabus
Day 1
Project Environment
- Requirements
- Simulation
- Design methodology
- Reviews
- Version control
- Debugging and testing
- Change control
- Programming language
- LAB: Creating a System Design Specification
Project Design
- Hard vs. soft
- Hardware view
- Hardware options
- Context diagrams
- State machines and statecharts
- OO/UML
- LAB: Designing a Component
Introduction to Embedded Software
- Real-time architectures
- Real-time operating systems
- Partitioning software into tasks
- Scheduling tasks
- LAB: Identifying Component Tasks and Scheduling
Day 2
Real-time Programming Techniques
- Timers
- Queues
- Semaphores and inter-task synchronization
- Inter-task data communication
- LAB: Coding a Component Function
More Real-time Programming Techniques
- Driver techniques
- Encapsulation techniques
- Miscellaneous topics
- LAB: Accessing a Hardware Register
Hard Real-time Scheduling
- Real-time scheduling is not intuitive
- Basics of rate monotonic analysis
- More complex rate monotonic analysis
- Blocking problems and their solutions
- LAB: Coding a Real-Time Component Function
Prerequisites
Prerequisite Courses
- None
Prerequisite Skills
- Some high-level programming experience
- An understanding of the hardware contained within a personal computer
Related Courses
- None
COURSE DETAILS SUMMARY
- Duration: 2 Days
- Course Information: View
- Format: Lectures and Labs
- Type: Instructor-led