FreeRTOS_Software timer (Timer)

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 […]

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_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 […]

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 […]