FreeRTOS介绍

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

FreeRTOS源码中文介绍指南链接

1.FreeRTOS 的时间相关函数

FreeRTOS 时间相关的函数主要有以下 4 个:
 vTaskDelay ()
 vTaskDelayUntil ()
 xTaskGetTickCount()
 xTaskGetTickCountFromISR()
    [相关函数的介绍](https://blog.csdn.net/qq_42215863/article/details/92795587)

2.FreeRTOS 任务堆栈的使用情况

中断栈异常死机情况说明
注:中断栈的大小与实际ram分配有关,还需要看ram可用的实际栈大小是多少(与开发时ram的框架分配有关)。
FreeRTOS介绍,stm32文章来源地址https://www.toymoban.com/news/detail-666967.html


栈的使用情况
水印函数:查看任务剩余栈的内存大小
uxTaskGetStackHighWaterMark(Task_sendModebuHandle )
堆的使用情况
1,size_t xPortGetFreeHeapSize( void );
用于返回堆栈中剩余空间(bytes)的大小,可用于节省内存空间,例如:当所有任务都已创建后,执行该函数返回的大小为2000,则下次定义configTOTAL_HEAP_SIZE的值可以减小2000。
该函数在heap_3的情况下无效
2,size_t xPortGetMinimumEverFreeHeapSize( void );
用于返回在应用执行后距离耗尽堆栈内存空间的距离,即在执行过程中剩余空间的最小值。
该函数在heap_4,5中无效。
3,void vApplicationMallocFailedHook( void );
正如标准库中的malloc(),在执行pvPortMalloc()时,可能由于内存大小不够等原因而到至分配内存失败从而返回NULL,此时我们需要一个失败时的回调函数,即为该函数。当FreeRTOSConfig.h中的configUSE_MALLOC_FAILED_HOOK置为1时,当申请空间失败时,用户必须提供一个上述类型的失败回调函数。

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

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

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

相关文章

  • STM32之FreeRTOS

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

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

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

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

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

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

    2024年02月21日
    浏览(36)
  • STM32+FREERTOS任务堆栈大小

    在FREERTOS任务开发过程中,由于不知道具体需要分配多大的任务堆栈大小,就需要在开始开发阶段尽可能的多分配一些,不然在调试过程中会出现程序卡死或者数据通信异常的现象。 如何评估任务堆栈的分配大小问题,可以根据任务的规模以及所任务所需的数据空间大概进行

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

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

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

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

    2023年04月08日
    浏览(50)
  • STM32 FREERTOS osDelayUntil()异常

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

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

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

    2024年02月15日
    浏览(38)
  • FreeRTOS事件组 基于STM32

    文章对事件组的,应用场景,运作机制,以及事件的创建,删除,等待,置位,同步等操作 文章目录 概述 一、事件标志组简介 1、事件位(事件标志) 2、事件组 3、事件标志组和事件位的数据类型 二、事件的应用场景 三、事件运作机制 四、事件控制块  五、事件组函数 1.事

    2024年02月11日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包