Sie sind auf Seite 1von 2

RTOS (REAL TIME OPERATING SYSTEM)

Introduction
FreeRTOS
Overview, market position, free software, open source, the modified GPLv2 license,
software architecture, features, hard and soft real-time, the difference between an RTOS
and Linux, etc.
Download FreeRTOS

Task Management
Tasks
What is a task?
Crude loop periodic delays, the task parameter, task priorities, task starvation, etc.
Task creation, task states, task priorities, the idle task, deleting a task, etc.
vTaskDelay(), vTaskDelayUntil(), polling Vs event driven, the idle task hook, etc.

Scheduling
Determinism, multitasking, endless loops, cyclic executives, issues with using interrupts,
preemptive, cooperative, prioritized preemptive, rate monotonic, deadline, cooperative,
hybrid

Queue Management
What is a queue?
Creating a queue, sending to a queue, receive from a queue, etc.
Blocking on a queue read, blocking on a queue write
Blocking multiple tasks on the same queue
Queueing large data items
Indirect, direct, synchronous and asynchronous message passing.

Interrupt Management
Interrupt Vs. Polling
Hardware and software interrupts
Interrupts arriving at the same time
Reentrancy and reentrant code

What is an event?
What is a Semaphore and what can it be used for?
Signal/Wait pattern, state diagram, states of a binary semaphore, etc.
Counting semaphores
Queues and interrupt service routines
Deferred interrupt processing, interrupt handlers, FreeRTOS interrupt safe API functions, task and
interrupt synchronisation, efficient queue usage in interrupts, interrupt nesting, etc.

Resource Management
Concurrency, concurrent reading and writing
Mutual exclusion, critical sections, suspending the scheduler, mutexes, priority inversion, priority
inheritance, deadlock, gate-keeper tasks, mutex vs. semaphore, etc.

Memory Management
Types of memory, memory fragmentation, memory exhaustion, memory allocation, dynamic
memory allocation in FreeRTOS
FreeRTOS memory allocation schemes, xPortGetFreeHeapSize(), etc.

Trouble Shooting
Project planning, firmware standard, code review, binutils, etc.
Debugging by stopping, the FreeRTOS Simulator, state viewer plugins, etc.
printf-stdarg.c, stack overflow detection
Heap overflow detection
Task statistics, run time statistics
profiling, tracing
Common errors

FreeRTOS-MPU
Memory management
User and privileged modes, access permissions, defining MPU regions, configuration required by
the linker, usage tips
Find out why a program failed

Das könnte Ihnen auch gefallen