Sela

Real-Time Essentials

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.

Topics

What is an Embedded System?
What is a Real-Time system?
Other basic terminology
Computer systems organization
The Digital Logic Layer
An embedded system
Software Languages
Software ROMming
Gluing it all together
Definition
Basic concepts: Determinism, Latency, Concurrency
Soft Real-Time vs. Hard Real-Time
RTOS Specifics
X-Development
BSP
Memory Mapping Considerations
Debugging
IDEs and Market
Defining a problem
Requirements and Constraints
The example
Overview
Device drivers with polling technique
Adding to example
The mechanism, priorities, masking
Interrupt vs. polling
Hardware and Software interrupts
Adding to example
Overview
Adding to example
Multi-tasking
Task synchronization
Inter-Task Communication
Serial I/O and UART
Adding serial I/O to example
Hardware debuggers
Software debuggers
Profiling your code
Programming for speed
Compiler Optimizations
User Code Optimization
More Tips

רוצה לדבר עם יועץ?

האם אתה בטוח שאתה רוצה לסגור את הטופס ולאבד את כל השינויים?