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
RTC1 - Version: 2
RTOS Architecture and Effective C
4 days course
Description
This course covers analysis, architecture design and programming aspects regarding real-time application development, and a thorough description of an RTOS for best usage and utilization. It provides the student with tools for both vertical and horizontal understanding of real-time application development. Further more, effective C on RT system is presented. The combined knowledge will help the participant build better Real-Time applications. Good utilization of the RTOS (Real-Time Operating System) may be vital for correct implementation of a Real-Time system. This course will prepare you for developing real-time applications using a Real-Time Operating System, and understanding its internals and behavior. Although not all developments use an operating system, understanding the services and utilization will help understand fundamental aspects of Real-Time development. The growing industry of Real-Time/Embedded systems introduces a growing need for good Real-Time operating systems, to supply an easily applicable, well-built, reliable, development environment to achieve the needed functionality with the proper support for timeliness constraints. Thus the growing need for programmers well familiar with RTOS.
Intended audience
This course is intended for students / programmers / software engineers, who have basic knowledge of Embedded/Real-Time systems development, and basic knowledge of operating systems.
Prerequisites
Experience in the C programming
Basic knowledge of Embedded/Real-Time systems development
Basic knowledge of Operating Systems
Objectives
Participants will gain knowledge enabling development of real-time applications using a Real-Time Operating System, and understanding its internals and behavior
Topics
Introduction to RT Architecture-OverView
What is a Real-Time system?
Definitions and examples
Real-Time System Characteristics
Timeliness, Responsiveness, Concurrency, Determinism, Correctness and Robustness, and moreā¦
Real-Time Software Implementation
Scheduling policies
Concurrency and data exchange
From Analysis to Design
Real -Time System Analysis
Software Architectures
Design
De-Coupling
Concurrency
Meeting constraints
BSP & Startup code
System Startup Code
Reset Code
Board Support Package (BSP)
Real-Time Operating Systems Architecture
RTOS Functionality
RTOS Characteristics
Layering and OS typical structure
System services, libraries, facilities
Interrupts
Overview and basics
Architecture and dispatching
Single stack Vs. Multi stack
ISR implementation
ISR under RTOS
ISR to task communication
Resources and restrictions
Introducing Tasks For Concurrency
Designing for concurrency and de-coupling
Processes vs. Tasks
Scheduling policies, states and transitions
Context switching and latency
Creating, controlling, deleting tasks
Setting priorities
Writing for reentrancy
Task Synchronization
Synchronization objects
Reentrancy and Shared data
Priorities
Inheritance, Inversion, Ceiling
Deadlocks and starvation
Inter-task Communication
Shared memory
Message Exchange
Inter-Task Communication models
Timers and System Clock
Hardware Timer & timer ticks
System Clock Facilities
Watch dog and Monitoring
C traps and pitfalls
Lexical
Syntactic
Semantic
Preprocessor
Linker
Preprocessor
The C Preprocessor - How it works
#include
#define - Defining named constants
#undef
Const Vs. Define
Macros
Macros Vs. Functions
Advanced Generic programming using macros
Creating Maps with macros
Conditional compilation
Preprocessor operators #, ##, defined
#line, #error
#pragma
Advanced Use of Pointers
Arrays with negative indexes
Using const in pointer declarations
void pointers
Pointers to functions
The library function qsort
The library function bsearch
Optimization & Costs
Increasing Code Efficiency
Inline Functions
Table Lookups
Hand-Coded Assembly
General Techniques
Decreasing Code Size
Reducing Memory Usage
Implementing Object Based Programming using C
Polymorphic types with unions
Using casting to achieve polymorphism
The problem of unsafe type programming
Polymorphic types using embedded common structure as a base class
Implementing V-Tables using structure with functions pointers
Implementing methods
The This * pointer
Implementing override in C
The object constructor and destructor functions
C++ for Embedded RT (intro)
Pros. And Cons.
Memory layout
Run-time considerations
RTC1 Course
I would like a representative to contact me regarding this activity
*
*
*
*
*