Directory title 1. Software timer characteristics 2. Guarding tasks 3. Software timer API 3.1. Create software timer 3.2. Callback function 3.3. Delete timer 3.4. Start/stop timer 3.5. Modify the timer period 3.6. Reset timer (Reset) 3.7. Timer ID 1. Software timer features Using a timer requires configuring timer period, callback function, and type (one-time, automatic […]
Tag: rtos
FreeRTOS_Direct Task Notifications
Directory title 1 Introduction 2. TCB members 3. Task notification API 3.1, simplified version 3.1.1, xTaskNotifyGive() 3.1.2, ulTaskNotifyTake() 3.2. Professional version 3.2.1, xTaskNotify() 3.2.2, xTaskNotifyWait() 1. Introduction When we use queues, semaphores, and event groups, we need to create corresponding structures in advance, and the two parties communicate through the intermediate structures. When using task […]
FreeRTOS mutual exclusion semaphore (mutex lock)
1. Mutually exclusive semaphore A mutually exclusive semaphore is actually a binary semaphore with priority inheritance, which is mostly used for mutually exclusive access to shared resources between different tasks. 2. Mutual exclusion semaphore reduces the impact of priority flipping When a mutex semaphore is being used by task L, and a task H also […]
FreeRTOS binary semaphores and counting semaphores
1. Binary semaphore and counting semaphore binary semaphore concept Queue of length 1 There is no need to care about the storage content, just whether it is empty or not. Application scenarios Synchronization of tasks and tasks, tasks and interrupts block When the task obtains the semaphore, if the semaphore is empty, it enters the […]
FreeRTOS_idle task
Table of Contents 1. Detailed explanation of idle tasks 1.1 Introduction to idle tasks 1.2 Creation of idle tasks 1.3 Idle task function 2. Detailed explanation of idle task hook function 2.1 Hook function 2.2 Idle task hook function 3. Idle task hook function experiment 3.1 main.c Idle tasks are an essential task for FreeRTOS. […]
freertos simple serial port
Let’s first improve the configuration file FreeRTOSConfig.h /* FreeRTOS V9.0.0 – Copyright (C) 2016 Real Time Engineers Ltd. All rights reserved VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. This file is part of the FreeRTOS distribution. FreeRTOS is free software; you can redistribute it and/or modify it under the terms of the […]
(3) FreeRTOS mission control (1)
1. Get information about all tasks uxTaskGetSystemState() //task.h UBaseType_t uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray, const UBaseType_t uxArraySize, unsigned long * const pulTotalRunTime ); configUSE_TRACE_FACILITY must be defined to 1 in FreeRTOSConfig.h to use uxTaskGetSystemState(). uxTaskGetSystemState() populates the TaskStatus_t structure for each task in the system. The TaskStatus_t structure contains, among other things, members the task […]
Transplantation of FreeRTOS on STM32F407 series development boards
RTOS real-time operating system FreeRTOS porting Add two folders to the project folder FreeRTOS_CORE and FreeRTOS_PORT Add list.c, queue.c, tasks.c in Source in FreeRTOS to the FreeRTOS_CORE kernel source folder Check out the Keil and MemMang in the Source in FreeRTOS and the portable migration folder. , RVDS three folders, and then find the folder […]
FreeRTOS_Queue(Queue)
Directory title 1. Queue characteristics 2. Queue function 2.1. Create queue 2.2. Write queue 2.3. Read queue 2.4. Reset queue 2.5. Delete queue 3. Queue set 3.1. Queue set creation 3.2. Add queues to queue sets 3.3. Read queue set 1. Queue characteristics Queues can be used to directly transmit information “Task to task“, “Task […]
Bluetooth—-ICall module and TI RTOS in CC2640
TIRTOS—-ICall module in CC2640 1.Introduction to ICall module 2.Initialization of ICall module 3.ICall thread synchronization 4.ICall message flow analysis 5.ICall calling process I have been using TI’s CC2640 Bluetooth for some time. I usually do application layer development and don’t pay much attention to the ICall module. But after reading this article, I gained a […]