FreeRTOS 复习

这篇博客主要复习了FreeRTOS操作系统,其9000行代码中,task.c占50%,queue.c占40%,硬件相关代码占6%。重点讨论了如何确保实时操作系统始终执行最高优先级的任务,并介绍了FreeRTOS中使用TCB(任务控制块)来表示用户定义的任务。参考了AOSA Book和LPC17xx开发板的相关资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. FreeRTOS一共9K的代码,分成3部分:

a. 50%: task.c

b. 40%: queue.c

c. 6%:   hardware-dependent


Par 1:其中最主要的这9行代码,其他8900多行都是为他服务,保证real time OS始终执行当前最高优先度的task:

	#define taskSELECT_HIGHEST_PRIORITY_TASK()													
	{																		
		/* Find the highest priority queue that contains ready tasks. */									
		while( listLIST_IS_EMPTY( &( pxReadyTasksLists[ uxTopReadyPriority ] ) ) )								
		{																	
			configASSERT( uxTopReadyPriority );												
			--uxTopReadyPriority;														
		}																	
		/* listGET_OWNER_OF_NEXT_ENTRY indexes through the list, so the tasks of								
		the	same priority get an equal share of the processor time. */									
		listGET_OWNER_OF_NEXT_ENTRY( pxCurrentTCB, &( pxReadyTasksLists[ uxTopReadyPriority ] ) );						
	} /* taskSELECT_HIGHEST_PRIORITY_TASK */

Part 2&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值