- 博客(6)
- 资源 (27)
- 收藏
- 关注
原创 FreeRTOS高级篇6---FreeRTOS信号量分析
FreeRTOS的信号量包括二进制信号量、计数信号量、互斥信号量(以后简称互斥量)和递归互斥信号量(以后简称递归互斥量)。关于它们的区别可以参考《FreeRTOS系列第19篇---FreeRTOS信号量》一文。 信号量API函数实际上都是宏,它使用现有的队列机制。这些宏定义在semphr.h文件中。如果使用信号量或者互斥量,需要包含semphr.h头文件。 二进制信...
2016-05-30 13:42:42 137085 12
原创 FreeRTOS历史版本更新记录
前言:本文会不定期更新,一方面FreeRTOS发布新版本时会第一时间跟进;另一方面,会慢慢补上V8.0之后的版本更新内容。说明:我上传FreeRTOS源码是为了为网友提供方便,为了增加上传权限才每个资源设置1个积分,想着等阵子权限足够了就把积分设置成0。但是现在CSDN官方强制自动设置每个资源需要的下载积分!我上传的资源有一个竟然设置成了需要44积分才能下载,所以不建议从CSDN下载,可以点击...
2016-05-28 16:57:41 26104 6
原创 FreeRTOS高级篇5---FreeRTOS队列分析
FreeRTOS提供了多种任务间通讯方式,包括:任务通知(版本V8.2以及以上版本)队列二进制信号量计数信号量互斥量递归互斥量 其中,二进制信号量、计数信号量、互斥量和递归互斥量都是使用队列来实现的,因此掌握队列的运行机制,是很有必要的。 队列是FreeRTOS主要的任务间通讯方式。可以在任务与任务间、中断和任务间传送信息。发送到队列的消息是通过拷贝实现的,这意味着队列存储的数...
2016-05-26 20:58:19 51762 7
原创 FreeRTOS高级篇4---FreeRTOS任务切换分析
FreeRTOS任务相关的代码大约占总代码的一半左右,这些代码都在为一件事情而努力,即找到优先级最高的就绪任务,并使之获得CPU运行权。任务切换是这一过程的直接实施者,为了更快的找到优先级最高的就绪任务,任务切换的代码通常都是精心设计的,甚至会用到汇编指令或者与硬件相关的特性,比如Cortex-M3的CLZ指令。因此任务切换的大部分代码是由硬件移植层提供的,不同的平台,实现发方法......
2016-05-15 19:31:41 66097 25
原创 FreeRTOS高级篇3---FreeRTOS调度器启动过程分析
使用FreeRTOS,一个最基本的程序架构如下所示:int main(void){ 必要的初始化工作; 创建任务1; 创建任务2; ... vTaskStartScheduler(); /*启动调度器*/ while(1); } 任务创建完成后,静态变量指针pxCurrentTCB(见《FreeRTOS高级篇2---FreeRT...
2016-05-06 14:57:32 39667 11
原创 FreeRTOS高级篇2---FreeRTOS任务创建分析
在FreeRTOS基础系列《FreeRTOS系列第10篇---FreeRTOS任务创建和删除》中介绍了任务创建API函数xTaskCreate(),我们这里先回顾一下这个函数的声明: BaseType_t xTaskCreate( TaskFunction_tp vTaskCode,...
2016-05-03 13:31:08 42194 14
真正的《基于 S3C2440的触摸屏驱动程序实现》强新建、田泽、刘天时
2009-10-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人