For more information contact us
Phone:
+1-425-748-5018
Fax: +1-425-644-2185
TrainingUSA@selagroup.com
Coming courses
Register/More info
More courses from
Embedded/RT
Design of Safety-Critical Systems & Software
RTOS Architecture and Effective C
Linux Embedded/RT and Drivers
Real-Time Essentials
Design of High Availability Systems & Software
Effective C++ in RT/Embedded Systems
Design of Distributed and Multi-Core Systems & Software
RT - Version: 1
Real-Time Essentials
3 days course
Description
Embedded/Real-Time systems are complicated, involving both hardware and software aspects, and have special development environment and performance constraints. Thorough understanding of all the components, how they operate, and how they interact, is essential for improving skills as a Real-Time software engineer, and for leveraging the quality of products. The course reveals and examines the different aspects of developing Embedded/Real-Time systems. It teaches the essentials of developing such systems, by exploring each of the different aspects involved. It starts with presenting the structure of a typical embedded system, then exploring in-depth each one of the hardware components, their functionality and interfaces, placing an emphasis on understanding hardware and software integration. The course provides the participant with a fundamental understanding of Real-Time programming principles and techniques for applying these principles to real-world design problems. It introduces the Real-Time operating system with its specifics and general services. The course also introduces the embedded development environment and X-Development, and Real-Time debugging techniques. All these concepts are presented throughout the course with hands-on exercises, for better utilization of the concepts, combining I/O devices, interrupts, file systems, inter-task communication and synchronization techniques.
Intended audience
The course is intended for programmers and engineers familiar with software development concepts, desiring to better understand the complex aspects of embedded/Real-Time development.
Prerequisites
Working knowledge of C or C++ programming
A fundamental understanding of operating systems
Objectives
Participant will gain thorough understanding of developing embedded and Real-Time systems
Participant will gain a better understanding of hardware specifics and Real-Time concepts
Participant will be exposed to Real-Time Operating System (RTOS), the embedded development environment and Real-Time optimization and debugging issues
Topics
Introduction to RT
What is an Embedded System?
What is a Real-Time system?
Other basic terminology
A Structure of an Embedded System
Computer systems organization
The Digital Logic Layer
An embedded system
Memory, CPU, Busses, I/O chips, Interrupts, Clocking
Embedded Software
Software Languages
Software ROMming
Gluing it all together
Real-Time Systems
Definition
Basic concepts: Determinism, Latency, Concurrency
Soft Real-Time vs. Hard Real-Time
Real-Time Operating Systems
RTOS Specifics
Characteristics and structure
Scheduling policy
Services
Embedded Development Environment
X-Development
BSP
Memory Mapping Considerations
Debugging
IDEs and Market
Introducing an Example
Defining a problem
Requirements and Constraints
The example
I/O Devices
Overview
Device drivers with polling technique
Adding to example
Interrupts
The mechanism, priorities, masking
Interrupt vs. polling
Hardware and Software interrupts
Adding to example
File System
Overview
Adding to example
Tasks and synchronization
Multi-tasking
Task synchronization
Inter-Task Communication
Networking and Serial I/O
Serial I/O and UART
Adding serial I/O to example
Debugging
Hardware debuggers
Software debuggers
Speeding Up Your Code
Profiling your code
Programming for speed
Compiler Optimizations
User Code Optimization
More Tips
Related courses
Real-Time Operating Systems With VxWorks
|
RT Course
I would like a representative to contact me regarding this activity
*
*
*
*
*