一起DIY四轴飞行器(三)添加实时操作系统--freeRTOS

开发环境:Windows

软件:

        1、STM32CubeMX 6.3.0

        2、MDK 5.14

一、初识freeRTOS系统

1.什么是FreeRTOS?

  1. Free 即免费的,RTOS 全称是 Real Time Operating System,中文就是实时操作系统。注意,RTOS 不是指某一个确定的系统,而是指一类系统。比如 uC/OS,FreeRTOS,RTX,RT-Thread 等这些都是 RTOS 类操作系统。
  2. 操作系统允许多个任务同时运行,这个叫做多任务。实际上,一个处理器核心在某一时刻只能运行一个任务。操作系统中任务调度器的责任就是决定在某一时刻究竟运行哪个任务。任务调度在各个任务之间的切换非常快,就给人们造成了同一时刻有多个任务同时运行的错觉。
  3. 某些操作系统给每个任务分配同样的运行时间,时间到了就轮到下一个任务,比如Unix 操作系统。 FreeRTOS 操作系统则是由用户给每个任务分配一个任务优先级,任务调度器就可以根据此优先级来决定下一刻应该运行哪个任务。
  4. FreeRTOS 是 RTOS 系统的一种,FreeRTOS 十分的小巧,可以在资源有限的微控制器中运行,当然,FreeRTOS 不仅局限于在微控制器中使用。但从文件数量上来看 FreeRTOS 要比uC/OSII 和 uC/OSIII 小的多。

2.为什么选择 FreeRTOS ? 

      RTOS 类系统有很多,比如 uC/OS,资料很多,尤其是中文资料,那为什么要选择 FreeRTOS 呢?

  1. FreeRTOS是免费的,学习RTOS操作系统的话 uC/OS是首选,但要做产品的话,免费的FreeRTOS操作系统就是个不错的选择。
  2. 许多半导体厂商产品的 SDK(Software Development Kit—软件开发工具包) 包就使用 FreeRTOS 作为其操作系统,尤其是 WIFI、蓝牙这些带协议栈的芯片或模块。
  3. 简单,因为FreeRTOS 的文件数量很少。

3.FreeRTOS 特点

        FreeRTOS 是一个可裁剪的小型 RTOS 系统,其特点包括:

  • FreeRTOS 的内核支持抢占式,合作式和时间片调度。
  • 提供了一个用于低功耗的 Tickless 模式。
  • 系统的组件在创建时可以选择动态或者静态的 RAM,比如任务、消息队列、信号量、软件定时器等等。
  • FreeRTOS-MPU 支持 Corex-M 系列中的 MPU 单元,如 STM32F429。
  • FreeRTOS 系统简单、小巧、易用,通常情况下内核占用 4k-9k 字节的空间。
  • 高可移植性,代码主要 C 语言编写。
  • 高效的软件定时器。
  • 强大的跟踪执行功能。
  • 堆栈溢出检测功能。
  • 任务数量不限。
  • 任务优先级不限

二、CubeMx配置

1、打开FREERTOS选择

2、因为 freeRTOS需要用到系统的SysTick, 系统时基需要修改为其他的定时器

Systick用到FreeRTOS上的调度,所以要求Systick为最低优先级15,这样可以保证systick不会对进程造成影响,仅存在延时

时基中断优先级改为最高级0

 

 3、将系统分配的HEAP(堆)大小改大些,这里我分配了10k字节。

 3、点击生成代码,MDK打开工程,添加代码

在默认的任务中StartDefaultTask添加如下代码,实现LED闪烁。

编译下载,即可。

三、总结

    我们在上一节的内容基础上,添加了freeRTOS系统,为后期的代码做了基础的框架。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RT-Thread和FreeRTOS都是实时操作系统(RTOS),它们在功能和使用方面有一些区别。 RT-Thread是中国人自己推出的一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台。它是一个开源的操作系统,除了具备常规RTOS的功能外,还提供了一个IoT OS平台所需的所有关键组件。\[2\] RT-Thread在使用上相对灵活,可以根据需求进行裁剪和定制,因此适用于各种嵌入式系统的开发。 FreeRTOS也是一个开源的实时操作系统,它专注于提供实时内核功能。与RT-Thread相比,FreeRTOS在功能上相对简单,主要提供了实时内核的功能。\[3\]它的使用也相对方便,但相对于RT-Thread来说,它的外设和软件包相对较少。 总的来说,如果你是刚入门的开发者,建议先选择一个相对简单的操作系统,如FreeRTOS。如果你已经使用过其中一个操作系统,并且想了解其他系统,可以认真研究一下RT-Thread,因为它提供了更丰富的外设和软件包。选择操作系统应该根据项目需求和个人经验来决定。 #### 引用[.reference_title] - *1* *3* [[RTOS]rtthread,freeRTOS,uCOS等系统简单对比](https://blog.csdn.net/m0_37370820/article/details/127272196)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [RT-Thread和Freertos的区别?](https://blog.csdn.net/zhengnianli/article/details/120030495)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值