freeRTOS源码解析4--tasks.c 4

4.2.9周期任务用的延迟--xTaskDelayUntil接口:BaseType_txTaskDelayUntil(TickType_t*constpxPreviousWakeTime,constTickType_txTimeIncrem...

freeRTOS源码解析4--task.c 3

4.2.6任务删除--vTaskDelete这个接口并不复杂,主要是在判断是否要放到xTasksWaitingTermination列表里,还是直接处理。1voidvTaskDelete(TaskHandle_txTaskToDelete)2...

freeRTOS源码解析4--task.c 2

4、task.c解析时隔两年,还是决定继续把这个系统解析完成,有始有终。不过这次源码又从官网上下载了最新的,可能和我以前看的略有区别,但应该基本不影响理解。接下来正式开始。4.1.3新增或是遗漏的两个宏1/*ReturnspdTRUEift...

FreeRTOS任务切换的实现

在进行FreeRTOS任务切换的介绍前,我们先来了解一下SVC和PendSV。SVC和PendSVSVC(系统服务调用,亦简称系统调用)和PendSV(可悬起系统调用),它们多用于在操作系统之上的软件开发中。SVC用于产生系统函数调用的请求。操作系统不让...

FreeRTOS启动任务调度器函数解释

目录vTaskStartScheduler()函数xPortStartScheduler()函数prvStartFirstTask()函数vPortSVCHandler()函数FreeRTOS的任务开始运行的前提是调用了启动调度器函数vTaskSt...

FreeRTOS-空闲任务prvIdleTask()函数解析

目录prvIdleTask()函数prvCheckTasksWaitingTermination()函数prvGetExpectedIdleTime()函数以下源码为FreeRTOSv9.0.0版本,不同版本源码可能会有所区别,但实现的逻辑差不多。需...

FreeRTOS挂起和恢复任务相关函数解析

目录函数vTaskSuspend()函数vTaskSwitchContext()函数vTaskResume()函数xTaskResumeFromISR()以下FreeRTOS源码函数使用的版本是9.0.0,不同版本的源码会有部分不同如10.4.6,注...

FreeRTOS中任务创建函数xTaskCreate()的解析

目录函数xTaskCreate()函数prvInitialiseNewTask()函数pxPortInitialiseStack()函数prvAddNewTaskToReadyList()总结函数xTaskCreate()此函数用于使用动态的方式...

Free-RTOS任务删除函数vTaskDelete()解析

目录函数vTaskDelete()函数prvDeleteTCB()总结函数vTaskDelete()此函数用于删除已被创建的任务,被删除的任务将从就绪态任务列表、阻塞态任务列表、挂起态任务列表和事件列表中移除,要注意的是,空闲任务会负责释放被删除任务中...

从菜鸟到大牛!嵌入式完整学习路线:STM32单片机-RTOS-Linux(文末领取开发板全套资料)

​嵌入式系统是许多现代电子设备和智能系统的核心,掌握嵌入式系统,意味着能够设计和开发更加智能化的产品。本文为所有想进入嵌入式领域的初学者提供一个完整系统学习的路线图,按照“STM32单片机➡RTOS➡嵌入式linux”的顺序帮助您从入门到进阶,掌握嵌入式开...