当前位置:网站首页>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 .
边栏推荐
- Xavier CPU & GPU high load power consumption test
- MySQL (UDF authorization)
- iNFTnews | 喝茶送虚拟股票?浅析奈雪的茶“发币”
- A brief introduction to heading/pitch/roll and omega/phi/kappa
- Interpretation of the earliest sketches - image translation work sketchygan
- SD_CMD_RECEIVE_SHIFT_REGISTER
- Huawei bracelet, how to add medicine reminder?
- 扫盲-以太网MII接口类型大全-MII、RMII、SMII、GMII、RGMII、SGMII、XGMII、XAUI、RXAUI
- Ros2 - ros2 vs. ros1 (II)
- Pycahrm reports an error: indentation error: unindent does not match any outer indentation
猜你喜欢
随机推荐
Technology blog learning website
Empire help
Lexin interview process
Integer to 8-bit binary explanation (including positive and negative numbers) scope of application -127~+127
Ros2 - common command line (IV)
ROS2——安装ROS2(三)
Edge calculation data sorting
三体目标管理笔记
PowerManagerService(一)— 初始化
数学分析_笔记_第8章:重积分
Technical conference arrangement
小米笔试真题一
基于Cortex-M3、M4的GPIO口位带操作宏定义(可总线输入输出,可用于STM32、ADuCM4050等)
The “mode“ argument must be integer. Received an instance of Object
Ros2 - workspace (V)
Mutual transformation between two-dimensional array and sparse array (sparse matrix)
Skywalking all
.net core踩坑实践
数据库Mysql全部
PHY驱动调试之 --- PHY控制器驱动(二)








