FreeRTOS的模板(一)

先来认识一下框架

BaseType_t Task_Ret = pdPASS;//创建任务返回值	
BaseType_t xTaskCreate(	TaskFunction_t pxTaskCode,//任务函数名称
						const char * const pcName,//任务名称	,最好有意义好辩认
						const configSTACK_DEPTH_TYPE usStackDepth,//为任务分配的栈空间
						void * const pvParameters,//任务形参,一般情况下都是NULL
						UBaseType_t uxPriority,//任务的优先级
						TaskHandle_t * const pxCreatedTask );//任务控制句柄

返回值:成功返回 pdPASS

1.什么是临界段?

临界段用一句话概括就是一段在执行的时候不能被中断的代码段 ,FreeRTOS 对临界段的保护最终还是对中断的开和关的控制。
taskENTER_CRITICAL(); //开启临界段
不能被中断的代码
taskEXIT_CRITICAL(); //关闭临界段

2.开启任务调度

vTaskStartScheduler();//开启任务调度
当任务创建好后,是处于任务就绪( Ready),在就绪态的任务可以参与操作系统的调度。 但是此时任务仅仅是创建了,还未开启任务调度器,也没创建空闲任务与定时器任务(如果使 能了configUSE_TIMERS 这个宏定义),那这两个任务就是在启动任务调度器中实现, 每个操作系统,任务调度器只启动一次,之后就不会再次执行了, FreeRTOS 中启动任务调度器的函 数是 vTaskStartScheduler(),并且启动任务调度器的时候就不会返回,从此任务管理都由 FreeRTOS管理,此时才是真正进入实时操作系统中的第一步 。

3.删除任务

vTaskDelete(APP_CreateHandle);//删除本任务
vTaskDelete()用于删除一个任务。删除的任务将从所有就绪,阻塞, 挂起和事件列表中删除 。

4.代码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

大概模板就是这个样子。不管是之后的二值信号量,互斥信号量,计数信号量,把所用到的函数换一下,框架都是这样。看着都看迷糊了!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。相对于C/OS-II、 embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行,其最新版本为6.0版。 作为一个轻量级的操作系统,FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。 FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。 FreeRT0S内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用 时间。 FreeRTOS的内核可根据用户需要设置为可剥夺型内核或不可剥夺型内核。当 FreeRTOS被设置为可剥夺型内核时,处于就绪态的高优先级任务能剥夺低优先级任务的CPU使用权,这样可保证系统满足实时性的要求;当 FreeRTOS被设置为不可剥夺型内核时,处于就绪态的高优先级任务只有等当前运行任务主动释放CPU的使用权后才能获得运行,这样可提高CPU的运行 效率。 FreeRTOS的移植:FreeRTOS操作系统可以被方便地移植到不同处理器上工作,现已提供了ARM、MSP430、 AVR、PIC、C8051F等多款处理器的移植。FrceRTOS在不同处理器上的移植类似于μC/0S一II,故本文不再详述FreeRTOS的移 植。此外,TCP/IP协议栈μIP已被移植到FreeRTOS上,具体代码可见FreeRTOS网站 相对于常见的μC/OS—II操作系统,FreeRTOS操作系统既有优点也存在不足。其不足之处, 一方面体现在系统的服务功能上,如FreeRTOS只提供了消息队列和信号量的实现,无法以后进先出的顺序向消息队列发送消息;另一方 面,FreeRTOS只是一个操作系统内核,需外扩第三方的GUI(图形用户界面)、TCP/IP协议栈、FS(文件系统)等才能实现一个较复杂的系统, 不像μC/OS-II可以和μC/GUI、μC/FS、μC/TCP-IP等无缝结合。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值