1.前言 freeRTOS中所有任务的通信和同步机制都是基于队列来实现。 2.队列的读写 图 队列的读写操作 队列的数据存储 队列可以保存有限个具有确定长度的数据单元,队列可以保存的最大单元数目称为队列的深度。 ...
分类:
其他好文 时间:
2017-06-25 18:32:46
阅读次数:
144
1.前言 FreeRTOS是小型多任务嵌入式操作系统,硬实时性。 2.任务 任务函数的原型 void ATaskFunction( void *pvParameters );参数必须是void *,返回值必须是void 任务通常是死循环,不会退出 不会有return语句 任务不需要可以删除 vTas ...
分类:
其他好文 时间:
2017-06-24 16:17:11
阅读次数:
148
多任务和单任务几乎没有差别。只用多创建一个或多个任务,其他地方和单任务时相同。 这里采用一个任务做LED灯闪烁,一个任务做蜂鸣器,可以看到两个任务展现出似乎同时运行的现象。 但是,其中有一个地方需要测试。 我们知道裸机中,优先级设置一样时,会看硬件编号,小的优先级高。 freertos中,优先级数值 ...
分类:
其他好文 时间:
2017-06-21 16:02:56
阅读次数:
396
在之前的移植工作准备好之后,我们需要调用freertos提供给我们的API函数实现操作系统地运行。首先,第一个函数: 任务函数任务是由 C 语言函数实现的。唯一特别的只是任务的函数原型,其必须返回 void,而且带有一个 void 指针参数。void ATaskFunction( void *pvP ...
分类:
其他好文 时间:
2017-06-20 17:54:12
阅读次数:
253
任务的创建1任务需要RAM来保存与任务有关的状态信息(任务控制块)2需要一定的RAM来作为任务堆栈xTaskCreate()就会从FreeRTOS的堆中分配,必须提供内存管理文件默认使用heap_4.c3宏configSUPPORT_DYNAMIC_ALLOCATION必须为14函数xTaskCreateStatic()创建的话这些RAM就需要用户来..
分类:
其他好文 时间:
2017-06-15 22:52:56
阅读次数:
1063
内核控制的一些功能须要移植层提供,为了方便移植。这些API函数用宏来实现,比方上下文切换、进入和退出临界区、禁止和使能可屏蔽中断。内核控制函数还包含启动和停止调度器、挂起和恢复调度器以及用于低功耗模式的调整系统节拍函数。1.强制上下文切换宏 taskYIELD:用于强制上下文切换的宏。在中断服务程序 ...
分类:
其他好文 时间:
2017-06-14 13:13:35
阅读次数:
193
原文地址:http://www.cnblogs.com/god-of-death/p/6942641.html 如果有更高优先级的任务进入准备状态,会立马抢占CPU使用权;时间片只适用于优先级一样的任务(时间片的长度是多少,configTICK_RATE_HZ?) configTICK_RATE_H ...
分类:
其他好文 时间:
2017-06-05 10:34:20
阅读次数:
251
转自:http://blog.csdn.net/zhzht19861011/article/details/49819309 版权声明:本文为博主原创文章,未经博主允许不得转载。联系邮箱:zhzhchang@126.com 版权声明:本文为博主原创文章,未经博主允许不得转载。联系邮箱:zhzhcha ...
分类:
其他好文 时间:
2017-06-05 10:33:26
阅读次数:
228
原文地址:http://www.cnblogs.com/god-of-death/p/6917837.html 1、二值信号量 就像一个标志位,事件产生置一,事件处理后直零 2、计数信号量 事件产生加一,事件处理减一,减到零表示事件处理完毕 3、中断推迟处理 由于中断服务函数越短越好(处理时间越短越 ...
分类:
其他好文 时间:
2017-05-29 13:29:08
阅读次数:
178
当使用STM32 ARM Cortex-M微控制器时,ST的免费嵌入式软件STM32Cube提供了所有必要的驱动程序和中间件组件,以减少初始的开发工作。在上述提到的中间件组件中,其中一个是非常受欢迎的FreeRTOS实时操作系统,Nabto正在努力建立一个强大的FreeRTOS + Nabto组合的 ...
分类:
其他好文 时间:
2017-05-23 23:52:04
阅读次数:
413