![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FreeRTOS
文章平均质量分 69
卤煮小鱼
这个作者很懒,什么都没留下…
展开
-
第一节:FreeRTOS (MDK)系统移植 (详细)
移植总结:第一步准备素材:如何在官网上下载源文件第二步移植代码:包括两步:①从源码中提需需要的文件②将代码添加到工程中第三步修改代码:最关键的一步使代码能够运行起来。移植例程代码DEMO https://download.csdn.net/download/zennaiheqiao/10661276 第一步:准备素材(源码的下载):(1)首先在FreeRTOS的网站官方...原创 2018-09-12 10:40:49 · 3742 阅读 · 0 评论 -
第一章:操作系统基础
1:嵌入式操作系统的概念2:操作系统的结构3:操作系统的主要职能进程的调度进程间通讯储存的管理4:FreeRTOS操作系统的特点原创 2018-10-30 17:06:48 · 267 阅读 · 0 评论 -
第三章:FreeRTOS任务的管理(转)
(1)为什么要任务管理(2)任务管理效果(3)怎么进行任务管理(4)相关API转载 2018-10-30 17:19:18 · 298 阅读 · 0 评论 -
第四章:队列管理(转)
(1)为什么要队列管理(2)队列管理效果(3)怎么进行队列管理(4)相关API转载 2018-10-30 17:20:40 · 321 阅读 · 0 评论 -
第二章:FreeRTOS的介绍
1:FreeRTOS操作系统的特点2:FreeRTOS实现的功能任务管理队列管理中断管理资源管理内存管理3:这些管理机制的目的原创 2018-10-30 17:23:59 · 582 阅读 · 0 评论 -
第五章:中断管理
(1)为什么要中断管理(2)中断管理效果(3)怎么进行中断管理(4)相关API原创 2018-10-30 17:25:03 · 257 阅读 · 0 评论 -
第六章:资源管理
(1)为什么要资源管理(2)资源管理效果(3)怎么进行资源管理(4)相关API原创 2018-10-30 17:25:38 · 240 阅读 · 0 评论 -
第七章:内存管理
(1)为什么要内存管理(2)内存管理效果(3)怎么进行内存管理(4)相关API原创 2018-10-30 17:26:27 · 205 阅读 · 0 评论 -
FreeRTOS软件定时器
1.软件定时器:软件定时器允许设置一段时间,当设置的时间到达之后就执行指定的功能函数,被定时器调用的这个功能函数叫做定时器的回调函数。回调函数的两次执行间隔叫做定时器的定时周期,简而言之,当定时器的定时周期到了以后就会执行回调函数。2.软件定时器功能:单次定时器:(例如定时1S,当定时时间到了之后执行一次回调函数,然后定时器停止运行。需要手动重新启动。)周期定时器:(例如定时1S,每当...原创 2018-11-05 13:56:31 · 1753 阅读 · 0 评论 -
第五节:FreeRTOS 内存管理
信号量存在的意义(资源管理与控制)FreeRTOS作为一个多任务系统,存在一个潜在风险。当一个任务在使用某个资源的过程中,便被切出运行态。此时如果有另一个任务或者中断来访问这个资源,则会导致数据损坏或者其他类似的错误。例如:访问外设如下情形,有两个任务都试图往LCD中写入数据:任务A准备往LCD中写入 Hello world,任务A被任务B抢占,但此时字符串才输出到Hello w。任务B往...原创 2018-10-18 17:48:13 · 425 阅读 · 0 评论 -
第三节:FreeRTOS 中断测试实验
目录(1)首先了解FreeRTOSConfig.h中的宏。configKERNEL_INTERRUPT_PRIORITYconfigMAX_SYSCALL_INTERRUPT_PRIORITY(2)FreeRTOS 开关中断 portDISABLE_INTERRUPTS(); 关中断 portENABLE_INTERRUPTS...原创 2018-09-14 16:47:48 · 789 阅读 · 0 评论 -
第四节:FreeRTOS 内存管理
目录内存管理的介绍内存碎片Heap_1-5内存分配的区别Heap_1:适用于一旦创建好内存,就不删除的任务。 (本质是分配的大数组做内存堆.)Heap_2:适用于重复分配和删除具有相同堆栈空间任务。(本质是分配的大数组做内存堆.)Heap_3:为对内存空间的操作,简单的封装了malloc和free。具有线程保护,但无空闲内存合并。Heap_4:内可将相邻的空...原创 2018-09-17 16:07:23 · 352 阅读 · 0 评论 -
FreeRTOS代码阅读笔记:heap_1.c
FreeRTOS中对于内存的管理当前一共有5种实现方式(作者当前的版本是10.1.1),均在【 \Source\portable\MemMang 】下面,这里笔记下。重要的参数: 使用方法:头文件:FreeRTOSConfig.h 配置参数:configTOTAL_HEAP_SIZE 定义系统所用的堆栈大小。configUSE_MALLOC_FAILED_...原创 2018-09-18 16:48:06 · 327 阅读 · 0 评论 -
第二节:FreeRTOS 任务的创建、删除、挂起、恢复
https://www.freertos.org/https://download.csdn.net/download/zennaiheqiao/106650031.任务创建1.1函数描述 BaseType_t xTaskCreate(TaskFunction_t pvTaskCode, const char * const...原创 2018-09-13 16:47:26 · 1021 阅读 · 0 评论 -
FreeRTOS代码阅读笔记:heap_2.c
FreeRTOS中对于内存的管理当前一共有5种实现方式(作者当前的版本是10.1.1),均在【 \Source\portable\MemMang 】下面,这里笔记下。重要的参数: 使用方法:头文件:FreeRTOSConfig.h 配置参数:configTOTAL_HEAP_SIZE 定义系统所用的堆栈大小。configUSE_MALLOC_FAILED_...原创 2018-09-19 13:58:41 · 326 阅读 · 0 评论 -
FreeRTOS代码阅读笔记:heap_3.c
FreeRTOS中对于内存的管理当前一共有5种实现方式(作者当前的版本是10.1.1),均在【 \Source\portable\MemMang 】下面,这里笔记下。 pvPortMalloc() 和 vPortFree() 的实现是基于 malloc()和 free()实现的,此时configTOTAL_HEAP_SIZE 是无效的。改变内存堆是通过修改启动文件来实现的。heap...原创 2018-09-19 14:27:13 · 438 阅读 · 0 评论 -
FreeRTOS代码阅读笔记:heap_4.c
FreeRTOS中对于内存的管理当前一共有5种实现方式(作者当前的版本是10.1.1),均在【 \Source\portable\MemMang 】下面,这里笔记下。heap_4.c和第二种方式比较相似,只不过增加了一个和并算法,将相邻空闲内存合并为一个大内存,和方法一、二管理策略一样,内存堆仍为一个大数组。区别在于第四种内存管理策略的空闲块链表不是以内存块大小为存储顺序,而是以内存块起始...原创 2018-09-19 15:37:44 · 1038 阅读 · 0 评论 -
FreeRTOS代码阅读笔记:heap_5.c
FreeRTOS中对于内存的管理当前一共有5种实现方式(作者当前的版本是10.1.1),均在【 \Source\portable\MemMang 】下面,这里笔记下。heap_5.c和heap_4.c实现方法比较相似。在调用API之前需要想调用 vPortDefineHeapRegions()来初始化内存堆。heap5 允许内存堆跨越多个连续的内存段。比如STM32内部RAM做内存堆,但是...原创 2018-09-19 16:56:10 · 3133 阅读 · 0 评论 -
FreeRTOS信号量
FreeRTOS中信号量又分为二值信号量、计数型信号量、互斥信号量和递归互斥信号量1:二值信号量二值信号量通常用于互斥访问或同步,二值信号量和互斥信号量非常类似,但是还是有一些细微的差别,互斥信号量拥有优先级继承机制,二值信号量没有优先级继承。因此二值信号另更适合用于同步(任务与任务或任务与中断的同步),而互斥信号量适合用于简单的互斥访问.创建:函数名原型功能v...原创 2018-11-05 16:52:52 · 1114 阅读 · 0 评论