当前位置:网站首页>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
- PHY drive commissioning --- mdio/mdc interface Clause 22 and 45 (I)
- how to understand the “model independent.“
- Steps and FAQs of connecting windows Navicat to Alibaba cloud server MySQL
- 现在有html文件,和用vs制作的mvc(连接了数据库),怎么两个相连?
- 【无标题】
- PR automatically moves forward after deleting clips
- The “mode“ argument must be integer. Received an instance of Object
- Markdown syntax
- Rehabilitation type force deduction brush question notes D1
猜你喜欢
Logical structure and physical structure
7. Oracle table structure
SOC_SD_CMD_FSM
Vant weapp swippecell set multiple buttons
扫盲-以太网MII接口类型大全-MII、RMII、SMII、GMII、RGMII、SGMII、XGMII、XAUI、RXAUI
iNFTnews | 喝茶送虚拟股票?浅析奈雪的茶“发币”
Spinningup drawing curve
SRE核心体系了解
Qt项目中的日志库log4qt使用
[algorithm post interview] interview questions of a small factory
随机推荐
Ros2 topic (VIII)
Dameng database all
Instruction execution time
Vant weapp swippecell set multiple buttons
Qt项目中的日志库log4qt使用
基于Cortex-M3、M4的GPIO口位带操作宏定义(可总线输入输出,可用于STM32、ADuCM4050等)
[Chongqing Guangdong education] National Open University 2018 autumn 0702-22t contemporary Chinese political system reference questions
Xavier CPU & GPU 高负载功耗测试
Vscode editor
Mipi interface, DVP interface and CSI interface of camera
PowerManagerService(一)— 初始化
Mutual transformation between two-dimensional array and sparse array (sparse matrix)
Get class files and attributes by reflection
postmessage通信
Ros2 - common command line (IV)
The differences and connections among cookies, sessions, JWT, and tokens
全局变量和静态变量的初始化
[MySQL 8.0 does not support capitalization of table names - corresponding scheme]
【软件测试】05 -- 软件测试的原则
基于FPGA的一维卷积神经网络CNN的实现(八)激活层实现