基于FreeRTOS的嵌入式实时操作系统的原理和实现.doc
《基于FreeRTOS的嵌入式实时操作系统的原理和实现.doc》由会员分享,可在线阅读,更多相关《基于FreeRTOS的嵌入式实时操作系统的原理和实现.doc(4页珍藏版)》请在三一文库上搜索。
1、基于FreeRTOS的嵌入式实时操作系统的原理和实现FreeRTOS是一个源码公开的免费的嵌入式实时操作系统,通过研究其内核可以更好地理解嵌入式操作系统的实现原理.本文主要阐述FreeRTOS系统中的任务调度机制、时间管理机制、任务管理机制以及内存分配策略的实现原理,并指出FreeRTOS在应用中的优缺点。在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统(RTOS)可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。由于RTOS需占用一定的系统资源(尤其是RAM资源),只有COS-II、embOS、salv
2、o、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。相对于COS-II、embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行,其最新版本为2.6版。1、FreeRTOS操作系统功能作为一个轻量级的操作系统,FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。FreeRT0S内核同时
3、支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用时间。FreeRTOS的内核可根据用户需要设置为可剥夺型内核或不可剥夺型内核。当FreeRTOS被设置为可剥夺型内核时,处于就绪态的高优先级任务能剥夺低优先级任务的CPU使用权,这样可保证系统满足实时性的要求;当FreeRTOS被设置为不可剥夺型内核时,处于就绪态的高优先级任务只有等当前运行任务主动释放CPU的使用权后才能获得运行,这样可提高CPU的运行效率。2、FreeRTOS操作系统的原理与实现2.1任务调度机制的实现任务调度机制是嵌入式实时操作系统的一个重要概念,也是其
4、核心技术。对于可剥夺型内核,优先级高的任务一旦就绪就能剥夺优先级较低任务的CPU使用权,提高了系统的实时响应能力。不同于COS-II,FreeRTOS对系统任务的数量没有限制,既支持优先级调度算法也支持轮换调度算法,因此FreeRTOS采用双向链表而不是采用查任务就绪表的方法来进行任务调度。系统定义的链表和链表节点数据结构如下所示:typedef struct xLIST /定义链表结构unsigned portSHORPT usNumberOfItems;/usNumberOfItems为链表的长度,为0表示链表为空volaTIle xLisTItem * pxHead;/pxHead为链表
5、的头指针volaTIle xLisTItem * pxIndex; /pxIndex指向链表当前结点的指针volatile xListItem xListEnd; /xListEnd为链表尾结点xList;struct xLIST_ITEM /定义链表结点的结构port Tick type xItem Value;/xItem Value的值用于实现时间管理/port Tick Type为时针节拍数据类型,/可根据需要选择为16位或32位volatile struct xLIST_ITEM * pxNext;/指向链表的前一个结点void * pvOwner;/指向此链表结点所在的任务控制块v
6、oid * pvContainer;/指向此链表结点所在的链表;FreeRTOS中每个任务对应于一个任务控制块(TCB),其定义如下所示:typedef struct tskTaskControlBlock portSTACK_TYPE * pxTopOfStack;/指向任务堆栈结束处portSTACK_TYPE * pxStack;/指向任务堆栈起始处unsigned portSHORT usStackDepth; /定义堆栈深度signed portCHAR pcTaskNametskMAX_TASK_NAME_LEN;/任务名称unsigned portCHAR ucPriority;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FreeRTOS 嵌入式 实时 操作系统 原理 实现
链接地址:https://www.31doc.com/p-3410650.html