当前位置:网站首页>1290_ Implementation analysis of prvtaskistasksuspended() interface in FreeRTOS
1290_ Implementation analysis of prvtaskistasksuspended() interface in FreeRTOS
2022-07-05 07:01:00 【grey_ csdn】
All learning summary : GreyZhang/g_FreeRTOS: learning notes about FreeRTOS. (github.com)
I just finished analyzing the pending operation of the task , Next, analyze whether the task is a query interface implementation in suspended state . commonly , The interface implementation of this query class is always simpler .
The interface also needs to be configured with a macro definition enable before it can take effect , This is similar to the previous task suspending interface implementation . Next , First, make sure that the incoming task handle is valid .
If the task handle is valid , Then you need to check whether the task is in the suspended task list . If not , Then the query will directly get the result , This task is not suspended . otherwise , Further judgment is needed . That means , stay FreeRTOS The suspended task list in may be used in many functions , This leads to the reuse of linked lists . natural , Sometimes adding some categories to the linked list can make processing easier , But similar processing cannot be merged . therefore , The implemented kernel should be more lightweight .
If the task is in the linked list of suspended tasks , The reason for the suspension may also be the suspension caused by the event . such , Just judge whether the event caused the suspension , If not , The reason why this task is in the suspended task list is the operation of suspended tasks . such , Task is suspended .
Compared with the previous pending operation , The operation of judging whether the task is suspended is indeed simpler . The main reason has also been analyzed before , Similar attribute queries generally do not change various states, so they do not trigger task scheduling . The interface of the modified class is different , Priority and other key attributes may be involved , Task scheduling may be triggered at any time , Therefore, the complexity will be higher .
边栏推荐
- [tf] Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initial
- Initialization of global and static variables
- npm install -g/--save/--save-dev的区别
- Cookie、Session、JWT、token四者间的区别与联系
- ROS2——工作空间(五)
- 【软件测试】05 -- 软件测试的原则
- In C language, int a= 'R'
- 睿智的目标检测59——Pytorch Focal loss详解与在YoloV4当中的实现
- PR automatically moves forward after deleting clips
- 现在有html文件,和用vs制作的mvc(连接了数据库),怎么两个相连?
猜你喜欢
1290_FreeRTOS中prvTaskIsTaskSuspended()接口实现分析
ROS2——node节点(七)
Mutual transformation between two-dimensional array and sparse array (sparse matrix)
Rehabilitation type force deduction brush question notes D2
The problem of Chinese garbled code in the vscode output box can be solved once for life
数学分析_笔记_第8章:重积分
【软件测试】04 -- 软件测试与软件开发
【MySQL8.0不支持表名大写-对应方案】
Ros2 - function package (VI)
你心目中的数据分析 Top 1 选 Pandas 还是选 SQL?
随机推荐
. Net core stepping on the pit practice
7. Oracle table structure
解读最早的草图-图像翻译工作SketchyGAN
逻辑结构与物理结构
Ros2 - install ros2 (III)
程序中的负数存储及类型转换
namespace
使用paping工具进行tcp端口连通性检测
LSA Type Explanation - lsa-5 (type 5 LSA - autonomous system external LSA) and lsa-4 (type 4 LSA - ASBR summary LSA) explanation
Configuration method and configuration file of SolidWorks GB profile library
Ret2xx---- common CTF template proposition in PWN
达梦数据库全部
LSA Type Explanation - detailed explanation of lsa-2 (type II LSA network LSA) and lsa-3 (type III LSA network Summary LSA)
The “mode“ argument must be integer. Received an instance of Object
.net core踩坑实践
数学分析_笔记_第8章:重积分
[Chongqing Guangdong education] National Open University 2018 autumn 0702-22t contemporary Chinese political system reference questions
PHY驱动调试之 --- MDIO/MDC接口22号和45号条款(一)
Pycahrm reports an error: indentation error: unindent does not match any outer indentation
基于FPGA的一维卷积神经网络CNN的实现(八)激活层实现