Edocti Training
Practical RTOS and RT programming
Sesiuni programate
Începe:
03.11.2026
, 4 zile
€ 550
Înscrie-te
Abilități dobândite
Arhitectură RTOS
Task Scheduling
Multithreading & Sincronizare
POSIX IPC
QNX Momentics
Optimizare Multicore
Controlul Latenței
Deployment Hardware
Curriculum
Intro practică în RTOS
- Sisteme embedded time‑triggered
- Introducere în RTOS
- Schedulers: tehnici principale; priority inheritance; stack sharing
- Implementări simple de scheduler pentru a înțelege structurile de date și context switching
- Reguli de bază în aplicații real‑time (dos and don'ts)
Primul proiect QNX
- Implementăm un producer–consumer cu garanții de timeout în Momentics
- Rulare, copiere pe target, debugging, profiling
- Comenzi QNX de bază și partitioning
- Scop: familiarizare cu mediul de dezvoltare QNX
Arhitectura Neutrino
- Prezentare la nivel înalt a componentelor cheie (table of contents pentru modulele detaliate)
Arhitectura INTEGRITY RTOS
- Modul scurt cu particularități INTEGRITY
Threads și procese
- Procese vs. threads; creare
- Sincronizare: joins, mutexes, semaphores, condition variables, read‑write locks, sleepon locks, barriers
- Controlul timpilor de așteptare (timeouts, absolut vs. relativ)
- QNX thread pools
Time, timers and clocks
- Structuri de date esențiale pentru timekeeping
- Timpul în kernel: operare periodică, clock ticks
- Timere pentru aplicații time‑triggered
- Kernel timeouts și stări de așteptare
IPC Programming
- POSIX IPC: transfer de date și shared memory
- Sincronizare: semaphores, events, signals, file locks, named mutexes
- Neutrino‑specific IPC
Subiecte multicore
- Proiectarea aplicațiilor pentru multicore
- Scheduling și întreruperi pe multicore
- Processor affinity
- Inter‑core synchronization
Crearea unei imagini QNX
- Construirea și personalizarea unei imagini QNX pentru BeagleBone
Aplicație: rețea de senzori cu constrângeri real‑time
- Lucru în echipă: topologie stea, procesare de date
- Constrângeri real‑time peste rețea
Module opționale
Subiecte avansate real‑time (opțional)
- Teoria scheduling‑ului: Rate‑Monotonic, Deadline‑Monotonic, EDF; response‑time analysis
- Protocoale de acces la resurse: Priority Inheritance vs. Priority Ceiling; bounded blocking
- Măsurarea latenței și jitter‑ului: cyclictest; high‑res timers; alegerea ceasului
- Tracing și profiling: LTTng, perf, ftrace; flame graphs; diagrame de timing la nivel de sistem
- Cozi lock‑free și ring buffers pentru comunicare ISR ↔ main; memory barriers; efecte de cache
- Interrupt affinity, CPU isolation și comportament predictibil pe multicore
- DMA și căi zero‑copy; determinismul I/O
- Sincronizare de timp pentru sisteme RT distribuite: PTP/IEEE‑1588
- Siguranță și standarde: MISRA C, programare defensivă, analiză statică
- Particularități QNX: adaptive partitioning, SchedFIFO/SchedRR/Sporadic Server, pulses, channels
Structura zilei de curs
- Part 1: 09:00–10:30
- Break: 10:30–10:45
- Part 2: 10:45–12:15
- Lunch break: 12:15–13:15
- Part 3: 13:15–15:15
- Break: 15:15–15:30
- Part 4: 15:30–17:30