草庐IT

Phytium-FreeRTOS

全部标签

linux - 如何在树莓派上安装 FreeRTOS?

我的目标是从thissite运行FreeRTOS在树莓派上。我在Linux机器上使用arm-none-eabi-gcc构建了它。现在我有这个文件/文件夹:RaspberryPi-FreeRTOS/├──build│├──Demo││├──Drivers│││├──gpio.d│││├──gpio.o│││├──irq.d│││└──irq.o││├──main.d││├──main.o││└──startup.o│└──FreeRTOS│└──Source│├──croutine.d│├──croutine.o│├──list.d│├──list.o│├──portable││├──G

FreeRTOS操作系统的学习(一)

操作系统的定义:管理和控制计算机硬件与软件资源的计算机程序,直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。其介于APP和硬件之间。 2、为什么要使用操作系统:1)与裸机相比,大大提高了CPU的灵活性。2)与裸机相比,可以使用少量的代码来实现更加复杂的功能3)屏蔽硬件:使得上层应用APP移植性更好。OS:操作系统3、常见的操作系统安卓、IOS、Windows(不开源)、Linux(开源)、塞班、鸿蒙、Vxworks、wince、RTT、UCOS、FreeRTOS等。操作系统的分类(1)实时的操作系统(RTOS)定期发生一次系统的调度,占用CPU的任务就会交

【FreeRTOS】05 任务的调度:抢占式、协作式、时间片轮转

本节来讲一讲FreeRTOS的任务调度,这是操作系统最核心的功能。FreeRTOS支持的任务调度方法有抢占式、协作式、时间片轮转,下面分别来讲解。1)协作式调度协作式的调度方式,其本质上是任务在运行一段时间后,自己放弃CPU运行权,让其他任务运行。在FreeRTOS里,是通过taskYIELD()这个函数实现放弃CPU的。一个典型的协作式任务是在while(1){}大循环的最后,调用taskYIELD()去主动放弃CPU;这时其他处于就绪态的最高优先级的任务才可能运行;如果其他任务都不在就绪状态,那么仍然回到taskYIELD()后面继续运行原来的任务。在FreeRTOS里taskYIELD(

STM32F429 Discovery开发板应用:使用FreeRTOS队列+DMA双缓存实现串口数据接收

 参考帖子:https://blog.csdn.net/freedompoi/article/details/122350866目前想要实现STM32F4自带的DMA双缓冲区,尝试过一版,结果不能预期,就使用了RxHalfCplt和RxCplt去实现DMA双缓冲区的效果。现在有时间了,又重新实现STM32F4自带的DMA双缓冲区,作为参考。 MCU:STM32F429ZIT6开发环境:STM32CubeMX+MDK5 此时,双击完后会关闭此界面,然后打开一个新界面。 然后,我们开始基本配置。 现在我们选择一个LED作为系统LED,该步骤可以忽略,只是本人喜欢这样子。以硬件原理图的LD3为例子。

FreeRTOS学习,适用于FreeRTOS初学者,FreeRTOS整体知识框架

目录一、为什么要学习FreeRTOS二、前言------从0到1认识FreeRTOS1、逻辑系统与多任务系统1.1、裸机系统:裸机系统通常分成轮询系统和前后台系统1.2、多任务系统2、数据结构-列表与列表项三、任务3.1基本属性3.1.1任务栈3.1.2任务控制块3.1.3任务成员3.2状态四、机制4.1任务优先级4.1.1高优先级抢占低优先级4.1.2时间片4.2任务调度器4.3临界段的保护4.4空闲任务与阻塞延时五、API函数写这篇文章的目的有两个。1、方便初学者快速的入门;2、对自己这一阶段的学习进行一个阶段性的小结。因为笔者也不过是个短时间的初学者,难免会有疏漏和差错,仅供参考。同时也

FreeRTOS移植STM32超详细(以STM32F103ZE为例)

我刚学FreeROTS时想移植到STM32,找了网上很多资料,但大多都不是很完整,于是我把我自己的移植过程分享出来,供大家参考。我们以STM32F103ZE,正点原子的跑马灯实验为例,准备工作:跑马灯实验工程FreeRTOS文件源码(可在官方下载)  第一步 移植文件到工程首先在工程目录新建一个名为FreeRTOS的文件夹然后打开从FreeRTOS官方下载的文件中路径为FreeRTOSv202212.01\FreeRTOS中的Source文件夹将里面的文件全部复制到工程目录的FreeRTOS文件夹  为了更加简洁,我们新建一个Source文件夹,将外面的.c文件放进去  回到官方下载的Free

FreeRTOS-实现任务调度器

✅作者简介:嵌入式入坑者,与大家一起加油,希望文章能够帮助各位!!!!📃个人主页:@rivencode的个人主页🔥系列专栏:玩转FreeRTOS💬推荐一款模拟面试、刷题神器,从基础到大厂面试题👉点击跳转刷题网站进行注册学习前言本文正式开启对FreeRTOS内核的研究,首当其冲的就是就是任务调度器的实现,任务调度器作为FreeRTOS的核心,因为FreeRTOS的本质就是任务的轮流运行,为了循序渐进的学习,避免一口吃成一个大胖子,本文只实现两个任务的切换,先不管任务的优先级,本文的目的就是将任务切换的全过程分析的透透彻彻,在此之前要深入理解FreeRTOS链表操作,还有ARM架构的知识,我已经帮

FreeRTOS学习笔记【二】——FreeRTOS 移植

        上一章中我们初步的了解了一下FreeRTOS,本章就正式踏上FreeRTOS的学习之路,首先肯定是把FreeRTOS移植到我们所使用的平台上,这里以ALIENTEK的STM32F103开发板为例,本章分为如下几部分:2.1准备工作2.2FreeRTOS移植2.3移植验证实验2.1准备工作2.1.1准备基础工程        要移植FreeRTOS,肯定需要一个基础工程,基础工程越简单越好,这里我们就用基础例程中的跑马灯实验来作为基础工程。2.1.2FreeRTOS系统源码        FreeRTOS系统源码在上一章已经详细的讲解过如何获取了,这里我们会将FreeRTOS的系

STM32+freeRTOS+LWIP实现TCP Server并发监听多个客户端的方法

项目中遇到需要在STM32F767上创建一个TCPServer,并且允许偶尔有多个客户端同时连接。之前一直使用STM32CubeMX自动创建freeRTOS线程,也只使用过TCPClient模式,这次开发就遇到了问题,归根结底是自己对freeRTOS和LWIP不是太了解,为此利用周末时间专门研究了一下。这次问题参考了《野火LwIP应用开发实战指南:基于STM32》以及《嵌入式网络那些事LwIP协议深度剖析与实战演练》一、实现TCPServer的并发处理的总体思想:1、利用一个TCPServer主线程监控客户端接入,如果有客户端接入到服务器,那么分配连接句柄给第二个子任务处理数据接收,同时启动子

【FreeRTOS】互斥锁的使用

❤️作者主页:凉开水白菜❤️作者简介:共同学习,互相监督,热于分享,多加讨论,一起进步!❤️专栏资料:https://pan.baidu.com/s/1nc1rfyLiMyw6ZhxiZ1Cumg?pwd=free❤️点赞👍收藏⭐再看,养成习惯订阅的粉丝可通过PC端左侧加我微信,可对文章的内容进行一对一答疑!文章目录创建、删除上锁、开锁上锁开锁示例结尾创建、删除互斥量是一种特殊的二进制信号量,使用互斥量时,先创建、然后去获得、释放它。使用句柄来表示一个互斥量。SemaphoreHandle_txSemaphoreCreateMutex(void);返回值:返回句柄,非NULL表示成功voidv