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
Calendar  Details
Calendar  Details
Calendar  Details
+ +
> >
- -

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

RT6 Real Time Programming with Azure RTOS - ThreadX

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

  • 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
  • STM32L5 Board on STM32CubeIDE
  • 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
Data Structures
  • FIFO
  • Linked list
Memory Management and Real-Time
  • Memory Management
  • Memory Errors
  • 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