• 2024-09-27freeRTOS源码解析4--tasks.c 6
    4.2.14退出阻塞--xTaskAbortDelay接口:BaseType_txTaskAbortDelay(TaskHandle_txTask)形参1:xTask,想要退出阻塞态的任务;返回:pdPASS:退出成功;pdFAIL:退出失败。1BaseType_txTaskAbortDelay(TaskHandle_txTask)2{3TCB_t*pxTCB=xTask;4BaseType_tx
  • 2024-08-06STM32F1移植FREERTOS DEMO
    简介STM32F1太常用了,因为官网已经把移植的工作做的很完善了,只要文件放到相应工程里就可以使用,这里只做一个简单的DEMO,记录下FreeRTOS正常启动的流程CUBEMX配置1.新建CUBEMX工程,使用SWD的情况先配置SWD设置,防止第一次烧录后,后续无法使用2.由于FreeRTOS有重新使用到SYSTICK(滴搭
  • 2023-12-17FreeRTOS--递归锁
    示例源码基于FreeRTOSV9.0.0递归锁1.概述递归锁是特殊的互斥量,允许同一任务多次获取和释放锁,而不会造成死锁;获取和释放的次数必须相同;递归锁的实现依赖于内部的uxRecursiveCallCount变量,它标记递归的次数,每次上锁加1,每次解锁减1,减为0才真正释放锁;递归锁也不能在中断内使用
  • 2023-12-17FreeRTOS--互斥量
    示例源码基于FreeRTOSV9.0.0互斥量1.概述互斥量用于临界资源的保护,通过互斥量,多个任务对相同资源进行的访问操作是互斥的;互斥量的核心在于谁上锁,就由谁解锁,这只是约定,FreeRTOS并没有在代码上实现这一点;互斥量是一种特殊的信号量,也是一种特殊的队列;使用互斥量,需要开启宏con
  • 2023-12-02FreeRTOS--队列集
    示例源码基于FreeRTOSV9.0.0队列集1.概述队列集的本质也是队列,只不过里面存放的是“队列句柄”。当任务需要及时读取多个队列时,可以使用队列集。它类似于posix的多路复用思想。可以将想要监听消息的队列放入队列集中,当其中有队列有数据达到时,队列集的接口会返回可读的队列句
  • 2023-11-091. 手动移植FreeRTOS V9.00到 Stm32F103C8T6
    记录移植过程,以便以后查看:1.使用cubeMAX配置一个工程a.选择单片机型号: b。设置SWD调试,选TIM4作为系统时钟,systick要用来跑freeRTOS c.NVIC默认使用Group4 配置GPIO,我这里配置了两个引脚,作为LED输出 d,RCC都选外部晶振 e。配置时钟树,HCLK72Mhz  f。project
  • 2023-07-03stm32移植FreeRTOS(手动)
    使用软件版本1.cubemxv5.3.02.stm32芯片包:Keil.STM32F4xx_DFP.2.16.0/Keil.STM32F1xx_DFP.2.4.03.FreeRTOS版本:FreeRTOSv202212.004.ARM编译器版本AC5,注意:AC6编译器使用ARMClang编译,本教程将不再适用移植步骤1.FreeRTOSsource文件夹下的如下文件拷贝到keil工程2.在keil
  • 2022-12-16从0到1学习FreeRTOS:FreeRTOS 内核应用开发:(一)移植FreeRTOS到STM32第一部分
    一、 STM32的裸机工程模板:相信学FreeRTOS的同学一定学过stm32,所以可以用自己的工程作为模板即可。或者去火哥论坛下一份模板程序。二、下载FreeRTOSV9.0.0源码:获取 Fr
  • 2022-11-11AIR32F103(五) FreeRTOSv202112核心库的集成和示例代码
    目录AIR32F103(一)合宙AIR32F103CBT6开发板上手报告AIR32F103(二)Linux环境和LibOpenCM3项目模板AIR32F103(三)Linux环境基于标准外设库的项目模板AIR32F103(四)2