ac6-training, un département d'Ac6 SAS
 
Site displayed in English (USA)
View the site in FrenchSite affiché en English (USA)Voir le site en English (GB)
+ +
- -
Online Training
 
Calendar  Details
Operating Systems
 
Calendar  Details
Programming
Calendar  Details
Processors
 
Calendar  Details
Communication
 
 
 
Calendar  Details
+ +
> >
- -

ac6 >> ac6-training >> Online Training >> Real-Time Systems >> Real Time Programming with Azure RTOS - ThreadX Download Catalog Download as PDF Write us Printable version

oRT6 Real Time Programming with Azure RTOS - ThreadX

Real-time programming applied to the Azure RTOS (ThreadX) operating system

formateur
Objectives
  • Get an overview on Cortex-M architecture
  • Discover the concepts of real time multithreading
    • Understand Real Time constraints
    • Determinism
    • Preemption
    • Interrupts
  • Understand the Azure RTOS architecture
  • Discover the various Azure RTOS services and APIs
  • Learn how to develop Azure RTOS applications
  • Learn how to debug Azure RTOS applications
Course environment
  • Example code, labs and solutions
  • Emulated board STM32F4-Discovery on STM32CubeIDE
Prerequisites
  • Familiarity with embedded C concepts and programming
  • Basic knowledge of embedded processors

First Day
Cortex-M Overview
  • ARMv7-M Architecture
  • Cortex-M Architecture
  • Registers and Execution States
  • Privileges, Mode and Stacks
  • Reset Behavior
  • Exception and Interrupts
  • The System Timer
  • Memory Model
  • Power Management
  • Cortex-M Advanced Features
    • ARM v7/v8 MPU
    • TrustZone Security Extension
Exercise:  Create a new project
Exercise:  Interrupt Management
Real-Time Concepts
  • Base real time concepts
  • The Real Time constraints
  • Multi-task and real time
  • Tasks and Task Descriptors
    • Content of the task descriptor
    • List of task descriptors
  • Context Switch
  • Task Scheduling and Preemption
    • Tick based or tickless scheduling
  • Scheduling systems and schedulability proof
    • Fixed priorities scheduling
    • RMA and EDF scheduling
  • Scheduling
    • Deterministic preemptive scheduling
    • Scheduling strategies
    • Cooperative scheduling
    • Hybrid scheduling
Exercise:  Context Switch
Introduction to Azure RTOS
  • The Azure ThreadX
  • Azure RTOS Ecosystem
  • Azure RTOS Features
  • Installation and use of Azure RTOS
Second Day
Thread Management
  • Thread Control Block
  • Thread States
  • Thread Creation
  • Thread Deletion
  • Preemption-Threshold
  • Changing Thread Priority
    • Suspending Threads
    • Resume Thread Execution
    • Thread Sleep
  • Terminate Thread Execution
  • Time-Slice
  • Thread States and Thread Design
  • Thread Statistics
  • Visual trace diagnostics using Tracealyzer
Exercise:  Thread Management
Exercise:  Periodic Threads
Exercise:  Time-slice change
Exercise:  Thread Statistics
Memory Management in Azure RTOS
  • Azure RTOS Memory Managers
    • Memory Byte Pool
    • Memory Block Pool
  • Out of Memory management
  • Stack overflow detection
Exercise:  Context Switch Measurement and memory problems detection
Resource Management
  • Mutual Exclusion
  • Critical Sections
  • Mutexes
    • Recursive mutexes
  • Gatekeeper Threads
  • Lock-Free Data Structures
Exercise:  Implement mutual exclusion between tasks
Third Day
Synchronization Primitives
  • Queues
  • Synchronization
  • Semaphores
    • Binary and counting semaphores
  • Events and Event Groups
  • The Readers/writer problem
Exercise:  Sending messages between tasks
Exercise:  Synchronizing a task with another one (Producer – Consumer problem)
Exercise:  Readers Writer Problem
Interrupt Management
  • Threads and Interrupts
    • Synchronization between threads and interrupts
  • Interrupts on ARM Cortex-M
  • Handler thread
  • Azure RTOS Primitives Within An ISR
    • Queues Within An ISR
  • Low Power Support
Exercise:  Interrupt Management – Deferred interrupt processing
Exercise:  Tickless and Low Power Mode
Application Timers
  • Application Timers
  • System Timer Thread
  • One-shot timers
  • Auto-reload timers
  • Application Timer Commands
Exercise:  Implement Soft Timers – Synchronize a task with a timer
Appendix
Data Structures
  • FIFO
  • Linked list
Memory Management and Real-Time
  • Memory Management
  • Memory Errors
CMSIS – RTOS
  • Overview
  • Kernel Information and Control
  • Threads Management
  • Generic Wait Functions
  • Communication and Resource Sharing
    • Semaphores
    • Mutex
    • Message Queue
    • Signal Events
    • Event Flags
    • Memory Pool
    • Mail Queue
  • Timer Management
  • Interrupt Service Routines