(RTOS笔记1)CubeMX STM32H7配置FreeRTOS软硬件版本信息:CubeMX配置1.选择芯片的型号2.配置时钟(Clock Configuration)3.配置FreeRTOS的时基定时器(将在RTOS笔记2中介绍),用TIM2作为OS的时基定时器为FreeRTOS提供时钟节拍。4.开启FreeRTOS.5.配置FreeRTOS参数(Config parameters)6.动
整个专栏主要是博主结合自身对FreeRTOS的实战学习以及源码分析,基于STM32F767 Nucleo-144平台,在CubeIDE下进行开发,结合官方的HAL库,将硬件环节的问题减少到最小,将精力主要放在RTOS的学习上. 文章目录1 FreeRTOS1.1 获取源码1.2 源码结构2 CubeMX 整合 RTOS3 新建RTOS任
完整的S32K144的学习汇总如下: https://github.com/GreyZhang/g_s32k144 继续S32K144的学习,这一次看一下FreeRTOS的工作时钟修改。其实,这就是一个简单的power-mode的切换。但是,在效果上能够看得出FreeRTOS的行为的变化。这种配置,应该载我们工程创建之初就进行修改,这样会
1. FreeRTOS 2. FreeRTOS系统配置
https://community.st.com/s/question/0D50X0000BB1eL7SQJ/bug-cubemx-freertos-projects-corrupt-memory http://www.nadler.com/embedded/newlibAndFreeRTOS.html 解决方法,添加老哥提供的heap_useNewlib.c 文件,在FreeRTOSConfig.h 里面添加 #define configUSE_NEW
15.1 临界段 代码的临界段也称为临界区,一旦这部分代码开始执行,则不允许任何中断打断。为确保临界段代码的执行不被中断,在进入临界段之前须关中断,而临界段代码执行完毕后,要立即开中断。 l FreeRTOS临界段相关知识补充 FreeRTOS的源码中有多处临界段的地方,临界段虽然保
目录 特性 应用限制 任务通知用作事件标志组 任务通知用作事件标志组的优点 任务通知用作事件标志组的缺点 部分API 测试程序 特性 每个任务都有一个32位的任务任务通知值,任务通知是直接发送到任务的事件,可以解除接收任务的阻塞。 任务通知可以通过下面四种方式更新任务通知
绝对时间:abs Time相对时间:百分比% time IDLE是空闲任务。 RUN_Time_State:port。。。()初始化一个外设提供时基单元 //具体初始化要自己操作这个定时器的分辨率高于freeRTOS系统时钟,10-20倍 1s=1000ms=1000000us 1khz系统时钟 ~需要10k或者20khz 另外两个宏(有一个就可以)去实
********************************************************************* ********************************************************************* ******************************主函数******************************* #include "sys.h" #include "delay.h&
这本书应该算是一本科普性质的书籍,讲述了嵌入式操作系统及周边产品的历史、特点和展望,相比较而言,教科书通常是某一个rtos的深入解读,而这本书是教科书的辅助书籍,提到了很多教科书所没有的内容,值得一读。 1、看完书,我才知道ucos不是最早的rtos,vxworks也不是,而是vrtx,他是第一个真正意
这里结合任哲的书籍+源代码来分析信号量1、在任哲的书中,提到信号量只有普通的信号量,没有区分freertos所谓的二值信号量和计数信号量。可以看看源代码,ucos的代码风格是很不错的,个人认为这个风格比freertos好,看起来很舒服,不像freertos一大堆宏定义。可以看到,OSSemCreate函数中的cnt
FreeRTOS移植 #准备工作 1.空工程(如果采用正点原子的空工程里面的SYSTEM文件夹下的文件需要修改,本章以正点原子空工程为例,当然也可以自己创建但延时函数和串口需要自己写) 2.FreeRTOS官方源码(FreeRTOSv9.0.0) #开始移植 1.在空工程下建立一个FreeRTOS文件夹,将源码复制进去 2.
在freertos中,信号量有三种类型,二值信号量,计数信号量,互斥信号量,这里总结前两种。 1、二值信号量比较直观,类似于红绿灯,创建的时候,默认是红灯的,其他任务都得不到这个信号量的,只有give之后才能变成绿灯,其他任务才能得到信号量,得以运行。(本质上,信号量是用队列实现的)上面是类比,在代码中,
前言:了解FreeRTOS第一步肯定是搭建可以运行的环境,不管是移植到STM32还是哪里都阔以,有自己敲代码的实践总比只捧着书看来的印象深刻,所以为了方便,本猿查阅点资料,把FreeRTOS运行在linux上来方便学习! 本篇目标:搭建FreeRTOS可用的环境来运行,并学习基本的一些功能。 材料准备: Fr
“从0开始的FreeRTOS”系列教程第四讲 作者:satori 这一次我们来进行基于FreeRTOS的任务管理实验。 在开讲之前,推荐一下Zou Changjun翻译的FreeRTOS实时内核使用指南(官方网站上的英文原名是Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide),在后面讲解API时我们
“从0开始的FreeRTOS”系列教程第二讲 作者:satori 这一期教程中,我们将介绍FreeRTOS源码的内容,如何使用cubemx快速生成一个包含freertos的工程,以及包含freertos的工程的结构。 https://sourceforge.net/projects/freertos/files/FreeRTOS/ 在上面的网址中下载FreeRTOS源码之后我们
“从0开始的FreeRTOS”系列教程第三讲 作者:satori 这次我们开始介绍FreeRTOS的任务管理机制。 在第一讲中,我们知道了操作系统是在一个在内存中自动对任务进行调度的硬件和用户的‘中间层’,这一讲中我们来介绍操作系统所作用的对象——任务。 当然,在讲述操作系统原理时我们不会使用
新建工程RTOS_Message,配置如下: Ctrl + S生成代码 修改代码, 1,在main.h中添加 //添加include/* Private includes ----------------------------------------------------------*//* USER CODE BEGIN Includes */#include "stdio.h"/* USER CODE END Includes */ 2,在main.c
队列基础知识 队列用于任务与任务、任务与中断之间的通信; 队列中可以存储有限的、大小固定的数据项目,队列所能保存的最大数据项目的数量叫做队列的长度,创建队列的时候会指定数据项目的大小和队列的长度; 队列采用先进先出(FIFO)的存储缓冲机制,也可以使用后进先出(LIFO)的存储缓冲机
1.开始学习linux应用层。 2.移植freertos到stm32上。 3.在搭载freertos的stm32上做应用开发。 4.继续学习QT 以前在读书的最后一年觉得时间不够用,工作后我觉得自己变懒了,回家后基本不会学习,我想该改变了。
# FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像。 在FreeRTOS中,列表与列表项使用得非常多,是FreeRTOS的一个数据结构,学习过数据结构的同学都知道,数据结构能使我们处理数据更加方便快速,能快速找到数据,在
一.准备工作: 单片机:STM32107VC 工程:已经移植到107工程的freeRTOS的工程 PS:如果没有可以看我之前写的播客自己移植 下面是链接。https://mp.csdn.net/postedit/101160362 二.开始新建自己的第一个任务 1. 首先我们新建任务之前,都要新建一个任务句柄。任务句柄就是每个任务的身
1、FreeRTOS的移植 移植方法传送门 网上有大量的资料我在这选了一个 2、FreeRTOS的API学习 3、内核实现的分析
一、修改替换FreeRTOSConfig.h后可能出现的错误: 问题1:找不到串口文件 解决1:将工程中改为自己的串口 xxxxx.h 文件即可。 问题2:重复定义:Symbol SVC_Handler multiply defined (by port.o and stm32f4xx_it.o).和 Error: L6200E: Symbol PendSV_Handler multiply def
在 FreeRTOS 中,数字优先级越小,逻辑优先级也越小,这与RT-Thread 和 μC/OS刚好相反。 就绪列表 pxReadyTasksLists[ configMAX_PRIORITIES ]是一个数组,数组里面存的是就绪任务的 TCB(准确来说是 TCB 里面的 xStateListItem 节点),数组的下标对应任务的优先级,优先级越低对应的数组下