STMicroelectronics (STM32G4x, STM32F4x, STM32F7x, STM32H7x)
| STM32 | |
|---|---|
| Coding & Debugging | STM32CubeIDE |
| PinMux Setting | STM32CubeMX |
| Programmer | STM32CubeProg |
| Real-time Diagnose | STM32CubeMonitor |
| Library | LL, CMSIS, HAL |
| RTOS | FreeRTOS |
| Debugger | ST-LINK/V2, V3 |
| Sensing & Control | PWM, Camera Interface |
| Peripheral (Communication) | USB, CAN, CAN-FD, LIN, SAI, SPI, USART/UART, I2C, Ethernet |
- 1. Introduction to FreeRTOS: System Architecture and Execution Model
- 2. FreeRTOS Scheduler: Preemption, Time Slicing, and Deterministic Scheduling
-
3. Task Management: Task Creation, States, Priorities, and Context Switching
- xTaskCreate()
- xTaskCreateStatic()
- vTaskDelete()
- xTaskGetHandle()
- xTaskGetIdleTaskHandle()
- xTaskGetCurrentTaskHandle()
- vTaskPrioritySet()
- uxTaskPriorityGet()
- vTaskSuspend()
- vTaskResume()
- xTaskResumeFromISR()
- vTaskDelayUntil()
- xTaskGetTickCount()
- xTaskGetTickCountFromISR()
- vTaskSetApplicationTaskTag()
- xTaskGetApplicationTaskTag()
- SetThreadLocalStoragePointer()
- GetThreadLocalStoragePointer()
- pcTaskGetName()
- uxTaskGetNumberOfTasks()
- vTaskGetInfo()
- uxTaskGetSystemState()
- eTaskGetState()
- xTaskGetSchedulerState()
- vTaskGetRunTimeStats()
- vTaskList()
- uxTaskGetStackHighWaterMark()
-
4. Lists and List Items: The Core Data Structures Behind Task Scheduling
- vListInitialise()
- vListInitialiseItem()
- vListInsert()
- vListInsertEnd()
- uxListRemove()
- Example: vListTask()
-
5. Queues and Queue Sets: Deterministic Inter-Task Communication
- xQueueCreate()
- xQueueCreateStatic()
- xQueueSend()
- xQueueSendToBack()
- xQueueSendToFront()
- xQueueOverwrite()
- xQueueSendFromISR()
- xQueueSendToBackFromISR()
- xQueueSendToFrontFromISR()
- xQueueOverwriteFromISR()
- xQueueReceive()
- xQueuePeek()
- xQueueReceiveFromISR()
- xQueuePeekFromISR()
- uxQueueSpacesAvailable()
- uxQueueMessagesWaiting()
- xQueueCreateSet()
- xQueueAddToSet()
- xQueueSelectFromSet()
- 6. Semaphores and Mutexes: Synchronization and Priority Inheritance
- 7. Software Timers: Time-Based Events and Deferred Execution Mechanisms
- 8. Event Groups: Multi-Condition Synchronization and Event Flags
- 9. Heap Management: Memory Allocation Models and Trade-Off Analysis
- Gatekeepers: Designing Safe and Structured Access to Shared Resources
- Interrupt Integration: ISRs, Deferred Interrupt Processing, and Latency Control
Back to top of the page