STM32U575 RTOS

这篇具有很好参考价值的文章主要介绍了STM32U575 RTOS。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

概要

计划在STM32U575引入FreeRTOS,先起个笔记的摘要,后续完善

在裸机代码中,我们常用定时器去处理各种事件。代码水线如下:
设置事件的超时时间 -> 定时器中断时间到,检查所有事件的超时时间 -> 处理超时时间到的事件

上面水线是经典的时间管理事件,不断的循环去检查事件的标志位,处理活跃的事件。在RTOS中,相当于轮询方式的事件管理

RTOS(Real-Time-Operating-System)在多任务处理上,提供了更友好的接口,对于系统、功能的扩展性较好。但是运行效率、内存使用率,是不如没有操作系统的。因此在功能不复杂的时候,低端芯片是更适合不加操作系统的;高端一点的芯片,因为有丰富的资源的支持,会更适合操作系统。

1. STM32CubeMX的配置

 1.1 下载和配置

打开STM32CubeMX,在Pinout & Configuration 窗口中,Categories 菜单下,选中“Middleware and Software Packets”,下拉菜单中,点击“X-CUBE-FREERTOS”下载

第一次打开时,FreeRTOS没有下载,此时字体颜色是灰色,点一下进入下载界面,勾选阅读协议后进行下载

下载完成后,下载图标变成配置图标,heap先按默认配置heap_4去配置

配置完成,FREERTOS的字体变成黑色,此时再点击,勾选“CMSIS RTOS2”

需要注意点:FreeRTOS支持的最大rate是1000,即1ms处理一次事件,这远远低于我们定时器可中断的频率。如果需要用更快的处理事件,最好使用timer(这也是我喜欢用timer自己写一个事件管理的原因,虽然经常用不到低于1ms的事件)

STM32U575 RTOS

代码内堆栈的修改,在startup_stm32u575xx.s内:

STM32U575 RTOS

 文章来源地址https://www.toymoban.com/news/detail-486190.html

 

到了这里,关于STM32U575 RTOS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32之FreeRTOS

    目录 FreeRTOS 介绍 什么是 FreeRTOS ? 为什么选择 FreeRTOS ?   FreeRTOS 资料与源码下载 祼机开发与 FreeRTOS  祼机开发: FreeRTOS: FreeRTOS 实现多任务的原理 二、移植 FreeRTOS  手动移植 使用CubeMX快速移植 快速移植流程 一些常见问题 1. Timebase Source 为什么不能设置为 SysTick ? 2. FreeRTO

    2024年02月15日
    浏览(59)
  • STM32FreeRTOS任务通知(STM32cube高效开发)

    1、任务通知可模拟队列和信号量 任务通知是FreeRTOS另外一种进程间通信技术。不需要创建任何中间对象,可以直接从任务向任务或ISR向任务发送通知,传递一个通知值任务通知可以模拟二值信号量、计数信号量、或长度为1的消息队列,使用任务通知,一般效率更高,消耗内

    2024年03月13日
    浏览(47)
  • STM32 FreeRTOS 内存问题

    2024年02月09日
    浏览(39)
  • 【FreeRTOS】Arduino开发STM32

    Vscode 、platformio、arduino、STM32F103C8T6、USB-TTL 引脚连接:STM32直接设置为烧录模式即可,烧录完成后会自动运行程序。     注意事项:每次上传程序前,需要按一下复位键。 platformio.ini文件配置 添加相关库函数 测试程序:板载LED闪烁,同时进行串口输出  vTaskStartScheduler()的作

    2024年02月15日
    浏览(37)
  • 手动移植FreeRTOS到STM32

            前言:这只是一篇FreeRTOS入门的文章,用于自己忘记的时候回看复习。本文是采用CubeMX生成的STM32F407的基础工程后来进行移植的。 一、FreeRTOS简介 1.什么是实时操作系统         实时操作系统(Real-time operating system, RTOS),又称即时操作系统,它会按照排序运行、

    2024年02月21日
    浏览(35)
  • 【STM32】FreeRTOS事件组学习

    事件组(Event Group) 一个任务执行之前需要经过多个条件进行判断,当条件全部满足或多个条件中的某一个条件满足才执行。 实验:创建两个任务,一个事件组,当按键一二三都按过一遍才打印。 实现:FreeRTOS在CubeMX中使用V1版本的时候,没法设置Events,必须手动添加,或者

    2024年02月12日
    浏览(33)
  • stm32以及freertos 堆栈解析

    以前在mcu编程的时候没有太注意堆栈的情况,只知道需要将堆栈设置的大一点。现在逐步使用freertos,在freertos中也有关于堆栈的设置,freertos的堆栈和启动文件中的堆栈关系是什么?为了以后使用的无误,本次一次性把这些弄清楚。 堆栈是一个特定的存储区或者寄存器。一般

    2023年04月08日
    浏览(47)
  • 【FreeRTOS】【STM32】中断详细介绍

    本篇文章将对下面三种优先级进行概念辨析: Cortex-M3 内核的中断优先级 STM32F1XX 控制器的中断优先级 FreeRTOS 的任务的优先级 “CPU”:“Central Processing Unit”,即中央处理器。它是计算机系统中的主要组件,负责执行指令并进行数据处理和计算。CPU通常由控制单元、算术逻辑

    2024年02月11日
    浏览(41)
  • STM32 FREERTOS osDelayUntil()异常

    问题: 在使用osDelayUntil()进行固定延时时发现不起作用,程序不能按照预期的延时进行执行(比延时要快)。 #define taskMBSysManage_Delay_TIME 1000 TickType_t xLastWakeTime; xLastWakeTime = xTaskGetTickCount(); //获取任务运行时间参数 osDelayUntil(xLastWakeTime, taskMBSysManage_Delay_TIME); 解决办法: 在

    2024年02月10日
    浏览(22)
  • FreeRTOS内存管理 基于STM32

    目录 一、内存管理的基本概念 二、内存管理的应用场景 三、heap_4.c 1.内存申请函数 pvPortMalloc() 2.内存释放函数 vPortFree()  四、内存管理的实验 五、内存管理的实验现象       在计算系统中,变量、中间数据一般存放在系统存储空间中,只有在实际使用时才将 它们从存储空

    2024年02月14日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包