logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

FreeRTOS-内存管理-1

多用于图形显示、GUI等,

#stm32#单片机
FreeRTOS-事件-1

事件是一种实现任务间通信的机制,主要用于实现多任务间的同步,但事件通信只能是事件类型的通信,无数据传输。与信号量不同的是,它可以实现一对多、多对多的同步:一个任务可以等待多个时间的发生:可以是任意一个时间发生时唤醒任务进行事件处理;也可以是几个事件都发生后进行事件处理。同样也可以是多个任务同步多个事件。每一个事件组只需要很少的RAM空间来保存事件组的状态。事件组存储在一个EventBits_t类型

#stm32#单片机
FreeRTOS-信号量-1

信号量是一种实现任务间通信的机制,可以实现任务之间同步或者临界资源的互斥访问,常用于协助一组相互竞争的任务来访问临界资源。在多任务系统中,各任务之间需要同步或互斥实现临界资源的保护,信号量功能可以为用户提供这方面的支持。抽象的来说,信号量是一个非负整数,所有获取它的任务都会将该整数减一(获取信号量是为了使用信号量对应的资源),当该整数值为0时,所有视图获取它的任务都将处于阻塞状态。通常一个信号量的

#stm32#单片机
FreeRTOS-消息队列-1

队列,也叫消息队列,是一种常用于任务间通信的数据结构。可以实现任务与任务之间、中断和任务之间传递信息,让任务能够接受来自其他任务或中断的不固定长度信息,以及读取消息队列中的消息。消息队列是一种。任务或者中断服务例程可以将一条或者多条消息放入消息队列中,同样,一个或多个任务可以从消息队列中获取消息。当多个消息发送到消息队列的时候,通常是将先进入队列的消息传给任务,也就是说,任务先得到的是最先进入消息

#单片机#stm32
FreeRTOS任务管理-1

FreeRTOS的任务可以认为是一系列独立任务的集合。每个任务在自己的环境中运行。在任何时刻,只有一个任务得到运行,FreeRTOS调度器决定运行哪个任务。任务调度器负责任务的切入切出时保存上下文环境。也就是说,每个任务都有自己的栈空间,当任务切出时,,这样当任务下次运行时,就可以从堆栈中恢复上次的运行环境。任务的栈是被存储到RAM中的,所以FreeRTOS可以运行多少个任务,取决于系统可用的SR

#stm32#单片机
FreeRTOS的下载和移植-1

在开始之前,我们需要准备一个STM32的裸机工程模版,可以选硬件配套的固件库例程。两个下载链接:1、官网:http://www.freertos.org/2、代码托管网站:https://sourceforge.net/projects/freertos/files/FreeRTOS/在下载的压缩包中,主要的内容就是其中的FreeRTOS文件夹,如下:点开之后是这样的:FreeRTOS为了推广自己

#stm32#单片机
临界段的保护

临界段就是一段在执行的时候不能被中断的代码(也就是说,执行这段代码之前需要关闭中断,执行完之后开启中断)。在FreeRTOS里面,这个临界段最多的就是对全局变量的操作,因为全局变量是每个任务都可以操作的,但是在某一个任务对使用该全局变量时,其他任务不能修改该全局变量的值。因此需要临界段保护该代码不被中断。但也有特殊情况可以打断临界段:1.系统调度。2.外部中断。在FreeRTOS中,系统调度就是产

#单片机#嵌入式硬件
FreeRTOS-中断管理

也就是说,在临界段之中,高于basepri的中断也可以被响应。

#stm32#单片机
FreeRTOS-内存管理-1

多用于图形显示、GUI等,

#stm32#单片机
    共 34 条
  • 1
  • 2
  • 3
  • 4
  • 请选择