FreeRTOS
文章平均质量分 68
水似冰
学生,努力学习中
展开
-
FreeRTOS(一)——FreeRTOSConfig.h配置
1 简介FreeRTOS中的FreeRTOSConfig.h文件使用#define来定义宏定义实现的。使用时可以直接复制,再根据自己的需要修改。2”INCLUDE_”开始的宏使用”INCLUDE_”开始的宏使能或除能FreeRTOS中相应的API函数。/* Set the following definitions to 1 to include the API functio...原创 2018-06-30 13:42:48 · 1190 阅读 · 0 评论 -
FreeRTOS(二)——任务机制
任务特性简单没有使用限制支持抢占支持优先级每个任务有拥有堆栈导致了RAM使用量曾大如果使用抢占的话必须仔细考虑重入的问题FreeRTOS任务状态1运行态2就绪态3阻塞态4挂起态 阻塞态、就绪态、运行态,切换到挂起态:vTaskSuspend() called 阻塞态切换到就绪态:Event 挂起态切换到就绪态:vTaskResume() calle...原创 2018-06-30 14:18:44 · 795 阅读 · 0 评论 -
FreeRTOS(三)——任务创建与删除
1 任务创建和删除的API函数 函数 描述 xTaskCreate() 使用动态方法创建一个任务 xTaskCreateStaitic() 使用静态方法创建一个任务 xTaskCreateRestricted() 创建一个使用MPU进行限制的任务,相关内存使用动态内存分配 vTaskDelete() 删除一个任务2 任务创...原创 2018-07-02 11:26:51 · 4317 阅读 · 0 评论 -
FreeRTOS(四)——任务挂起与恢复
1 任务挂起与恢复API函数 函数 描述 vTaskSuspend() 挂起一个任务 vTaskResume() 恢复一个任务的运行 vTaskResumeFromeISR() 中断服务函数中恢复一个任务的运行vTaskSuspend()此函数用于将某个任务设置为挂起态,进入挂起态的任务永远都不会进入运行态。退出挂起态的唯一方...原创 2018-07-02 13:48:33 · 1056 阅读 · 0 评论 -
FreeRTOS(五)——中断
FreeRTOS中断配置宏 宏 描述 configPRIO_BITS 设置MCU使用几位优先级,在STM32中使用4位 configLIBRARY_LOWEST_INTERRUPT_PRIORITY 设置最低优先级 configKERNEL_INTERRUPT_PRIORITY 设置内核中断优先级 configLIBRARY_MAX_S...原创 2018-07-06 17:39:26 · 5100 阅读 · 0 评论 -
FreeRTOS(六)——列表与列表项
列表与列表项简介列表和列表项是FreeRTOS中的一个数据结构,FreeRTOS中使用了大量的列表和列表项,是FreeRTOS的基石。列表列表在概念上和链表有点类似,列表被用来跟踪FreeRTOS中的任务。与列表相关的全部东西都在文件list.c和list.h中。typedef struct xLIST{ listFIRST_LIST_INTEGRITY_CHECK_...原创 2018-07-07 15:06:36 · 765 阅读 · 0 评论 -
FreeRTOS(七)——任务查询和信息统计
任务相关API函数预览 函数 描述 uxTaskPriorityGet() 查询某个任务的优先级 vTaskPrioritySet() 改变某个函数的优先级 uxTaskGetSystemState() 获取系统中任务状态 vTaskGetInfo() 获取某个任务信息 xTaskGetApplicationTaskTag(...原创 2018-08-11 16:13:15 · 2505 阅读 · 0 评论 -
FreeRTOS(九)——队列
在编写项目应用时,常常会遇到一个任务和另一个任务进行“沟通交流”的情况,在没有操作系统时,全局变量可以解决这个问题,但是如果在使用操作系统的应用中用全部变量来传递信息就会涉及到“资源管理”的问题,而且全局变量不易维护,往往逻辑复杂的程序中,无法追踪全局变量被谁使用或被谁更改。 FreeRTOS对此提供一个叫做“队列”的机制。 本文分为如下几部分:队列简介队列结构体队列创建向队列发送消...原创 2018-09-08 16:08:37 · 575 阅读 · 0 评论 -
FreeRTOS(八)——时间管理
在使用过程中,我们通常会在一个任务函数中使用 延时函数来延时,当执行延时函数的时候就会进行任务切换,并且此任务就进入阻塞态。直到延时完成,任务重新进入就绪态。延时函数属于FreeRTOS的时间管理。在这个时间管理过程中,调用延时函数以后究竟发生了什么?任务是如何进入阻塞态的?延时完成以后任务又是如何恢复到就绪态的?本文会分为如下几部分FreeRTOS延时函数FreeRTOS...原创 2018-09-07 10:15:10 · 695 阅读 · 0 评论