- 2024-10-17Free RTOS实时操作系统
FreeRTOS实时操作系统目录FreeRTOS实时操作系统裸机和实时操作系统嵌入式操作系统的作用向裸机工程中添加FreeRTOS源码修改FreeRTOSConfig.h文件(操作系统的配置文件)--修改stm32f10x_it.c创建任务–动态内存FreeRTOS文件夹介绍更改过后的代码裸机和实时
- 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