top of page

Real Time Programming with Eclipse ThreadX

Pris

Förfrågan

Varaktighet

3 Dagar

Real Time Programming with Eclipse ThreadX

Course Description

Real-time programming applied to ThreadX (previously Azure RTOS)

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



Day One

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

Day Two

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

Day Three

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

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


Nohau Training Partner

Den här kursen tillhandahålls av en Nohau Training Partner, en pålitlig leverantör av utbildning för yrkesverksamma inom inbyggda system, mjukvaruutveckling och ingenjörskonst.

Nohau Training Partner

SJÄLVSTUDIER

Lär dig Embedded-utveckling i din egen takt – när och var du vill!

ANPASSADE KURSER

Anpassad träning för bättre embedded-kompetens i ditt team.

CERTIFIKAT

Våra kurser tillhandahåller TRUE certifikat – Erkända av branchledare.

Nohau_office environment5_edited.jpg
bottom of page