嵌入式FreeRTOS系统接口调用API总结

嵌入式ARM 2019-03-08 17:08


信息来源于网络


1.在最近的嵌入式工作中很多都是学习FreeRTOS系统,由于只是会对RTOS的接口进行调用,但是很多时候都是知其然而不知其所以然,所以现在对API进行总结。


2.首先还是从main函数入口,main()函数创建任务,然后启动调度器


大概的格式如下:



3.在 FreeRTOS 中,多线程被称为多任务,在这里任务可以看得和线程相同。(其实并不相同)


首先创建任务的接口:



如:



调用的函数demo如下:



上面是对两个接口的简单介绍,下面是注意的事项。


(1) :每个任务的执行必要要有延时,如果没有延时,那么会出现单个任务一直占用CPU的现象。比如说下面的代码逻辑就会出现一直在运行任务一的现象;



(2) 由于多任务是使用的时间片轮转的方式调用,如果优先级高的任务占用的时间片过多,那么低优先级的任务会出现饿死状态。

 


(3)时间片的长度通过心跳中断的频率进行设定,心跳中断频率由FreeRTOSConfig.h 中的编译时配置常量 configTICK_RATE_HZ 进行配置。比如说,如果 configTICK_RATE_HZ 设为 10(HZ),则时间片长度为 100ms


(4)优先级是在FreeRTOS是可以通过调用API进行修改的。


点赞▼

嵌入式ARM 关注这个时代最火的嵌入式ARM,你想知道的都在这里。
评论
热门推荐
相关推荐
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦