Real-time programming applied to the FreeRTOS operating system
来源:互联网 发布:农村网络方案 编辑:程序博客网 时间:2024/06/09 23:34
http://www.ac6-training.com/cours.php/cat_FSCA/ref_RT3/
First Day
RTOS Introduction
Cortex-M resources used by RTOS
- Cortex-M Architecture Overview
- Two stacks pointers
- Different Running-modes and Privileged Levels
- MPU Overview
- Systick Timer Description
- Exception / Interrupt Mechanism Overview
- Interrut entry and return Overview
- SVC / PendSV / Systick Interrupt Presentation
- Developing with the IDE
Introduction to Real Time
- Base real time concepts
- The Real Time constraints
- Multi-task and real time
Thread safe data structures
- Need for specific data structures
- Thread safe data structures
- Linked lists
- Circular lists
- FIFOs
- Stacks
- Data structures integrity proofs
- Assertions
- Pre and post-conditions
Second Day
Element of a real time system
- 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 through FReeRTOS
- Deterministic preemptive scheduling
- Scheduling strategies
- Cooperative scheduling
- Hybrid scheduling
Task Management
- The Task life-cycle
- Creating tasks
- Deleting tasks
- The Endless-loop pattern
- Task Priorities
- Assigning task priorities
- Changing task priorities
- The idle task
- Idle task hooks
- Timing
Memory Management
- Memory management algorithms
- Buddy System
- Best fit / First Fit
- Pools Management
- FreeRTOS-provided memory allocation schemes
- Allocate-only scheme
- Best-fit without coalescing
- Thread-safe default malloc
- Checking remaining free memory
- Adding an application-specific memory allocator
- Memory management errors
- Stack monitoring
Third Day
Synchronization Primitives
- Introduction
- Waiting and waking up tasks
- Semaphores
- Events
- Mailboxes
- Binary Semaphores through FreeRTOS
- Give a Binary Semaphore
- Take a binary Semaphore
- Queue Management through FreeRTOS
- Creation
- Sending on a queue
- Receiving from a queue
- Data management
- Sending compound types
- Transfering large data
Resource Management
- Mutual Exclusion
- Spinlocks and interrupt masking
- Mutex or Semaphore
- Recursive or not recursive mutexes
- Priority inversion problem
- Priority inheritance (the automatic answer)
- Priority ceiling (the design centric answer)
- Mutual exclusion through FreeRTOS
- Mutexes and binary semaphores
- Deadlocks
- Priority inversion
- Priority inheritance
- Critical sections
- Critical sections
- Suspending (locking) the scheduler
- Gatekeeper tasks
Fourth Day
Parallelism Problems Solution
- Parallel programming problems
- Uncontrolled parallel access
- Deadlocks
- Livelocks
- Starvation
Interrupt Management
- Need for interrupts in a real time system
- Software Interrupt
- Time Interrupts
- Device Interrupts
- Level or Edge interrupts
- Hardware and Software acknowledge
- Interrupt vectoring
- Interrupts and scheduling
- Deferred interrupt processing through FreeRTOS
- Tasks with interrupt synchronization
- Using semaphores within an ISR
- Counting semaphores
- Using queues within an ISR
- FreeRTOS interrupt processing
- Writing ISRs in C
- Interrupt safe functions
- Interrupt nesting
Software Timer
- The Timer Daemon Task
- Timer Configuration
- One-shot / Auto-reload Timer
- Software Timer API
Trouble Shooting
- Checking for stack problems
- Common pitfalls
FreeRTOS-MPU
- The Cortex/M MPU
- User and privileged modes
- Access permissions
- Defining MPU regions
- Overlapping regions
- Predefined regions
- Programmer-defined regions
- Needed linker configuration
- Practical usage tips
0 0
- Real-time programming applied to the FreeRTOS operating system
- Integrity Real-time Operating System
- Nano-RK:A Wireless Sensor Networking Real-Time Operating System
- MicroC/OS-II Real-Time Operating System On NIOS
- Real-time operating systems (RTOS)
- Real time system
- Tuning the Operating System
- Real-Time Java Platform Programming
- real time cooperative editing system
- Operating System in the future
- Oracle tuning the operating system
- Detecting the Operating System Version
- chapter23 The Operating System Library
- operating system and the histoty
- Migrating to the Solaris Operating System: The Discipline of UNIX-to-UNIX Migrations
- Concurrent and Real-Time Programming in Java
- Symbian OS Internals: Real-time Kernel Programming
- Concurrent and Real-Time Programming in Ada
- hdu 3345——War Chess
- 时光微凉,那一场回忆被海水浸泡
- 时光微凉,那一场回忆被海水浸泡
- 不再是想得到关心亦或是心疼
- 和法国天津工厂已经公开
- Real-time programming applied to the FreeRTOS operating system
- Follow Me: ArcPy(1)
- cocos2d-x触摸分发器原理 ------------------------------cocos2d-x 3.0正式版本(7.10)
- 雷天大壯
- 天山遯
- 5.1.2 Binary Tree Inorder Traversal
- 我的博客
- 黑马程序员_高新技术之类加载器
- Hadoop interview questions