FreeRTOS

什么是FreeRTOS?

Free即免费的,RTOS的全称是Real time operating system,中文就是实时操作系统。
FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。 由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。相对μC/OS-II、embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行,其最新版本为10.4.4版。
(以上来自百度百科)

用了FreeRTOS有什么用?

使 CPU可以快速在两个乃至多个任务间快速切换,并且不觉得劳累,实现
两个任务快速切换使达到给人一种两个任务同时进行的感觉!

FreeRTOS 实现多任务的原理

严格来说 FreeRTOS 并不是实时操作系统,因为它是分时复用的。
系统将时间分割成很多时间片,然后轮流执行各个任务。
每个任务都是独立运行的,互不影响,由于切换的频率很快,就感觉像是同时运行的一样。
在这里插入图片描述

使用CubeMX快速移植到STM32F103C8T6

  1. 在 SYS 选项里,将 Debug 设为 Serial Wire ,并且将 Timebase Source 设为 TIM2 (其它定时器也行)。原因:裸机的时钟源默认是 SysTick,但是开启 FreeRTOS 后,FreeRTOS会占用 SysTick (用来生成1ms定时,用于任务调度),所以需要需要为其他总线提供另外的时钟源。
    在这里插入图片描述

  2. 将 RCC 里的 HSE 设置为 Crystal/Ceramic Resonator 。

  3. 时钟按下图配置
    在这里插入图片描述

  4. 选择 FREERTOS 选项,并将 Interface 改为 CMSIS_V1 。V1 和 V2 有啥区别?
    区别:V2 的内核版本更高,功能更多,在大多数情况下 V1 版本的内核完全够用。

  5. 配置项目信息,并导出代码。

相关推荐

  1. <span style='color:red;'>FreeRTOS</span>

    FreeRTOS

    2024-05-01 16:38:01      33 阅读
  2. FreeRTOS简介

    2024-05-01 16:38:01       64 阅读
  3. FreeRTOS 简介

    2024-05-01 16:38:01       40 阅读
  4. freeRTOS学习

    2024-05-01 16:38:01       116 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-01 16:38:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-01 16:38:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-01 16:38:01       82 阅读
  4. Python语言-面向对象

    2024-05-01 16:38:01       91 阅读

热门阅读

  1. CSS 06

    CSS 06

    2024-05-01 16:38:01      27 阅读
  2. Docker依旧没有过时

    2024-05-01 16:38:01       33 阅读
  3. Python绝对路径及命令行执行路径的写法收录

    2024-05-01 16:38:01       32 阅读
  4. 三种滤波(EKF、UKF、CKF)的对比,含MATLAB源代码

    2024-05-01 16:38:01       29 阅读
  5. 商城数据库88张表结构

    2024-05-01 16:38:01       28 阅读
  6. 算法~本质

    2024-05-01 16:38:01       27 阅读
  7. Jenkins持续化集成

    2024-05-01 16:38:01       29 阅读
  8. Mybatis

    Mybatis

    2024-05-01 16:38:01      33 阅读
  9. ubuntu20.04下Stable Video Diffusion安装和测试

    2024-05-01 16:38:01       31 阅读
  10. 【NetTopologySuite类库】计算三点所在平面的法向量

    2024-05-01 16:38:01       24 阅读