freertos 学习 资源整理

2023-05-16

1 freertos 官方网站

freertos 官方网站
https://www.freertos.org/index.html

这里写图片描述

源码下载:
https://sourceforge.net/projects/freertos

2 如何下载旧版本的 freertos

https://sourceforge.net/projects/freertos/files/FreeRTOS/
这里写图片描述

https://sourceforge.net/projects/freertos/files/FreeRTOS/V9.0.0/

这里写图片描述

3 freertos的书 和手册

https://www.freertos.org/Documentation/RTOS_book.html
这里写图片描述

4 Nano100B 开发板上的freertos

https://download.csdn.net/download/wowocpp/10608149

5 FRDM-KL25Z 板子上带的例程

E:\nano130FreeRtos\SDK_2.2_FRDM-KL25Z\boards\frdmkl25z\rtos_examples
这里写图片描述

6 LPCXpresso54114 板子上带的例程

E:\freescale\LPC54114\SDK_2_0_LPC54113J_Windows\SDK_2.0_LPC54113J_Windows\boards\lpcxpresso54114\rtos_examples
这里写图片描述

7 kl43_MAPS 板子上带的例程

E:\freescale\kl43_MAPS\SDK_2.1_MAPS-KL43\boards\mapskl43z\rtos_examples
同上

8 freertos 在PC上 通过 visual studio 2010 编译运行

FreeRTOSv9.0.0\FreeRTOSv9.0.0\FreeRTOS\Demo\WIN32-MSVC\
需要vs2015

错误  1   error MSB8020: The build tools for v140 (Platform Toolset = 'v140') cannot be found. To build using the v140 build tools, please install v140 build tools.  Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Upgrade Solution...".  C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.Platform.targets   64  5   RTOSDemo

FreeRTOSV8.2.3\FreeRTOSV8.2.3\FreeRTOS\Demo\WIN32-MSVC\WIN32.sln
需要vs2010 即可

source-code-for-book-examples\source-code-for-book-examples\Win32-simulator-MSVC\RTOSDemo.sln
需要vs2010 即可 对应的是v9.0.0 ,书的例子

9 freertos windows 下的移植 FreeRTOS Windows Port

FreeRTOS Windows Port
For Visual Studio or Eclipse and MingW

https://www.freertos.org/FreeRTOS-Windows-Simulator-Emulator-for-Visual-Studio-and-Eclipse-MingW.html

10 freertos 入门

Getting Started with Simple FreeRTOS Projects
https://www.freertos.org/simple-freertos-demos.html

[See also the Quick Start Guide and the hardware independent starter functions provided.]
https://www.freertos.org/FreeRTOS-quick-start-guide.html
https://www.freertos.org/Hardware-independent-RTOS-example.html

11 freertos vs2010 编译 运行demo

FreeRTOSV8.2.3\FreeRTOSV8.2.3\FreeRTOS\Demo\WIN32-MSVC\WIN32.sln
这里写图片描述
运行:
这里写图片描述

/*
 * main_blinky() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1.
 * main_full() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0.
 */
 *
 * main_blinky() creates one queue, one software timer, and two tasks.  It then
 * starts the scheduler.
 *
 * The Queue Send Task:
 * The queue send task is implemented by the prvQueueSendTask() function in
 * this file.  It uses vTaskDelayUntil() to create a period task that sends the
 * value 100 to the queue every 200 milliseconds (please read the notes above
 * regarding the accuracy of timing under Windows).
 *
 * The Queue Send Software Timer:
 * The timer is a one-shot timer that is reset by a key press.  The timer's
 * period is set to two seconds - if the timer expires then its callback
 * function writes the value 200 to the queue.  The callback function is
 * implemented by prvQueueSendTimerCallback() within this file.
 *
 * The Queue Receive Task:
 * The queue receive task is implemented by the prvQueueReceiveTask() function
 * in this file.  prvQueueReceiveTask() waits for data to arrive on the queue.
 * When data is received, the task checks the value of the data, then outputs a
 * message to indicate if the data came from the queue send task or the queue
 * send software timer.  As the queue send task writes to the queue every 200ms,
 * the queue receive task will print a message indicating that it received data
 * from the queue send task every 200ms.  The queue receive task will print a
 * message indicating that it received data from the queue send software timer
 * 2 seconds after a key was last pressed.

启动了两个任务 和 一个定时器
这里写图片描述
运行过程中,按下键盘上的任意按键,
会触发 定时器任务 给读任务发送消息
log为:Message received from software timer

写任务会定时给读任务发送消息:log为:Message received from task

还是有点问题,可能和 uiTraceStart(); 有关

12 Creating a New FreeRTOS Project

https://www.freertos.org/Creating-a-new-FreeRTOS-project.html

Source Files
As a minimum, the following source files must be included in your project:

FreeRTOS/Source/tasks.c
FreeRTOS/Source/queue.c
FreeRTOS/Source/list.c
FreeRTOS/Source/portable/[compiler]/[architecture]/port.c.
FreeRTOS/Source/portable/MemMang/heap_x.c where ‘x’ is 1, 2, 3, 4 or 5.
If the directory that contains the port.c file also contains an assembly language file, then the assembly language file must also be used.

Optional Source Files

If you need software timer functionality, then add FreeRTOS/Source/timers.c to your project.

If you need event group functionality, then add FreeRTOS/Source/event_groups.c to your project.

If you need steam buffer or message buffer functionality, then add FreeRTOS/Source/stream_buffer.c to your project.

If you need co-routine functionality, then add FreeRTOS/Source/croutine.c to your project (note co-routines are deprecated and not recommended for new designs).

Header Files

The following directories must be in the compiler’s include path (the compiler must be told to search these directories for header files):
FreeRTOS/Source/include
FreeRTOS/Source/portable/[compiler]/[architecture].
Whichever directory contains the FreeRTOSConfig.h file to be used - see the Configuration File paragraph below.
Depending on the port, it may also be necessary for the same directories to be in the assembler’s include path.

Configuration File

Every project also requires a file called FreeRTOSConfig.h. FreeRTOSConfig.h tailors the RTOS kernel to the application being built. It is therefore specific to the application, not the RTOS, and should be located in an application directory, not in one of the RTOS kernel source code directories.
If heap_1, heap_2, heap_4 or heap_5 is included in your project, then the FreeRTOSConfig.h definition configTOTAL_HEAP_SIZE will dimension the FreeRTOS heap. Your application will not link if configTOTAL_HEAP_SIZE is set too high.

The FreeRTOSConfig.h definition configMINIMAL_STACK_SIZE sets the size of the stack used by the idle task. If configMINIMAL_STACK_SIZE is set too low, then the idle task will generate stack overflows. It is advised to copy the configMINIMAL_STACK_SIZE setting from an official FreeRTOS demo provided for the same microcontroller architecture. The FreeRTOS demo projects are stored in sub directories of the FreeRTOS/Demo directory. Note that some demo projects are old, so do not contain all the available configuration options.

Interrupt Vectors

[Cortex-M users: Information on installing interrupt handers is provided in the “The application I created compiles, but does not run” FAQ]
Every RTOS port uses a timer to generate a periodic tick interrupt. Many ports use additional interrupts to manage context switching. The interrupts required by an RTOS port are serviced by the provided RTOS port source files.

The method used to install the interrupt handlers provided by the RTOS port is dependent on the port and compiler being used. Refer to, and if necessary copy, the provided official demo application for the port being used. Also refer to the documentation page provided for the official demo application.

13 STM32 正点原子开发板 开源的资料

http://www.openedv.com/forum.php?mod=forumdisplay&fid=205
http://www.stmcu.org/module/forum/forum.php?mod=viewthread&tid=612567&highlight=RTOS
从去年9月份开始开始编写STM32开发板的FreeRTOS教程、例程,录制FreeRTOS视频。教程已经由北航出版社初版,书名为《FreeRTOS源码详解与应用开发》,对应的电子档的名字为《STM32F429 FreeRTOS开发手册》,资料网盘里面也有STM32F103、STM32F407、STM32F767的FreeRTOS开发手册,所有的资料全部开源。1、文档教程基本400多页,详细的分析了FreeRTOS的源码。
2、例程共有24个,例程详细的讲解了如何使用FreeRTOS的各个功能模块。
3、视频教程总共55节,每节大约30分钟,详细讲解了文档和例程中的每个例程,全程一行一行手敲代码,拒绝PPT!视频教程也详细的讲解了FreeRTOS源码,现场分析源码,现场做笔记。
需要的可以下载了,由于资料比较大,论坛无法上传!所以分享出百度网盘的下载链接:http://pan.baidu.com/s/1qXF2alQ
如果百度网盘链接失效的话可以去www.openedv.com去下载。资料截图如下:

这里写图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

freertos 学习 资源整理 的相关文章

  • FreeRTOS系列

    1 多任务系统 1 1 前后台系统 单片机裸机开发时 一般都是在main函数里面用while 1 做一个大循环来完成所有的处理 循环中调用相应的函数完成所需的处理 有时也需要在中断中完成一些处理 相对于多任务系统而言 这就是单人单任务系统也
  • 基于HAL库的FREERTOS----------二.任务API函数

    任务API函数览概 CUBEMX对 做了API的封装 很多 的函数没有封装到位 可以用原函数调用 任务API函数分别介绍 1 uxTaskPriorityGet 此函数用来获取指定任务的优先级 要使用此函数的话宏 INCLUDE uxTas
  • FreeRTOS快速上手

    FreeRTOS使用 一 源码下载和移植文件提取 1 1 源码下载 在网站https sourceforge net projects freertos 可以找到freertos最新的源码 1 2 移植文件提取 根据第一步 我们会得到一个f
  • 【FreeRTOS 信号量】互斥信号量

    互斥信号量与二值信号量类似 但是互斥信号量可以解决二值信号量出现的优先级翻转问题 解决办法就是优先级继承 普通互斥信号量创建及运行 参阅安富莱电子demo 互斥信号量句柄 static SemaphoreHandle t xMutex NU
  • 解决错误“ #error “include FreeRTOS.h“ must appear in source files before “include event_groups.““例子分享

    今天来给大家分享一下 关于之前自己在学习FreeRTOS过程中遇到的一个错误提示 话不多说 我们直接来看 错误分析 首先 我们看一下错误的提示 error 35 error directive include FreeRTOS h must
  • STM32移植FreeRTOS的Tips

    转自 http bbs armfly com read php tid 7140 1 在FreeRTOS的demo文件夹中拷贝对应的FreeRTOSConfig h文件后 需要加入一行 define configUSE MUTEXES 1
  • 【FreeRTOS】队列的使用

    作者主页 凉开水白菜 作者简介 共同学习 互相监督 热于分享 多加讨论 一起进步 专栏资料 https pan baidu com s 1nc1rfyLiMyw6ZhxiZ1Cumg pwd free 点赞 收藏 再看 养成习惯 订阅的粉丝
  • FreeRTOS学习笔记<中断>

    中断概念 Cortex M的NVIC最多支持240个IRQ 中断请求 1个不可屏蔽中断 NMI 1个Systick 滴答定时器 定时器中断和多个系统异常 Cortex M处理器有多个用于管中断和异常的可编程寄存器 这些寄存器大多数都在 NV
  • FreeRTOS ------- 任务(task)

    在学习RTOS的时候 个人觉得带着问题去学习 会了解到更多 1 什么是任务 在FreeRTOS中 每个执行线程都被称为 任务 每个任务都是在自己权限范围内的一个小程序 其具有程序入口每个任务都是在自己权限范围内的一个小程序 其具有程序入口通
  • FreeRTOS打印任务对CPU的占有率

    1 配置RTOS 1 打开RTOS Config Parameter 找到Run Time And Task States gathering related definitions 使能GENERATE RUN TIME STATS US
  • 【FreeRTOS】任务通知的使用

    作者主页 凉开水白菜 作者简介 共同学习 互相监督 热于分享 多加讨论 一起进步 专栏资料 https pan baidu com s 1nc1rfyLiMyw6ZhxiZ1Cumg pwd free 点赞 收藏 再看 养成习惯 订阅的粉丝
  • FreeRTOS临界段和开关中断

    http blog sina com cn s blog 98ee3a930102wg5u html 本章教程为大家讲解两个重要的概念 FreeRTOS的临界段和开关中断 本章教程配套的例子含Cortex M3内核的STM32F103和Co
  • FreeRTOS学习(三)开关中断

    声明及感谢 跟随正点原子资料学习 在此作为学习的记录和总结 环境 keil stm32f103 背景知识 Cotex M3的NVIC最多支持240个IRQ 中断请求 1个不可屏蔽 NMI 1个Systick 滴答定时器 Cortex M处理
  • FreeRTOS死机原因

    1 中断回调函数中没有使用中断级API xxFromISR 函数 xSemaphoreGiveFromISR uart busy HighterTask 正确 xSemaphoreGive uart busy 错误 2 比configMAX
  • FreeRTOS轻量级同步--任务通知

    1 简介 在FreeRTOS的配置参数中的configUSE TASK NOTIFICATIONS宏打开 一般RTOS会默认打开 如图1所示 图1 notify宏开关 RTOS在创建任务时 会创建一个32位的通知值ulNotifiedVal
  • FreeRTOS实时操作系统(三)任务挂起与恢复

    系列文章 FreeRTOS实时操作系统 一 RTOS的基本概念 FreeRTOS实时操作系统 二 任务创建与任务删除 HAL库 FreeRTOS实时操作系统 三 任务挂起与恢复 FreeRTOS实时操作系统 四 中断任务管理 FreeRTO
  • FreeRTOS 配置TICK_RATE_HZ

    我使用的是带有 5 4 版 FreeRTOS 的 MSP430f5438 我有一个有趣的问题 我无法弄清楚 基本上 当我将 configTICK RATE HZ 设置为不同的值时 LED 闪烁得更快或更慢 它应该保持相同的速率 我将 con
  • FreeRTOS 匈牙利表示法 [重复]

    这个问题在这里已经有答案了 我是 RTOS 和 C 编程的新手 而且我仍在习惯 C 的良好实践 因此 我打开了一个使用 FreeRTOS 的项目 我注意到操作系统文件使用匈牙利表示法 我知道一点符号 但面临一些新的 标准 FreeRTOS
  • 哪些变量类型/大小在 STM32 微控制器上是原子的?

    以下是 STM32 微控制器上的数据类型 http www keil com support man docs armcc armcc chr1359125009502 htm http www keil com support man d
  • 有关 CMake 错误的问题:没有为目标提供源

    我正在尝试使用 cmake 和 eclipse 将 FreeRtos 添加到我的项目中 但出现错误 我运行的是 debian 10 我的 cmake 版本是 3 13 4 cmake 的文件可以在以下位置找到这个 git 仓库 https

随机推荐

  • 创建Vue项目报HADOOP_CONF_DIR错解决方法

    创建Vue项目报错解决方法 创建Vue ui项目时终端报错 xff1a ERROR Failed to get response from No HADOOP CONF DIR set Please specify it either sp
  • android调试常见问题(持续更新)

    1 jni调用时出现以下错误 failed dlopen failed cannot locate symbol rand referenced by xxx 通常是ndk编译的平台太低导致 打开jni的Application mk 修改里
  • 大数据系列 | 解决Hadoop不能打开端口8088的网页问题(50070可以打开)

    解决Hadoop不能打开端口8088的网页问题 50070可以打开 原因 xff1a 本地hosts文件没有添加集群ip集群环境没有开放8088端口hadoop的配置文件yarn site xml问题 解决方法 xff1a 首先检查一下使用
  • Vue2前端请求API数据跨域问题解决

    Vue2前端请求API数据跨域问题解决方法 前端 xff1a Vue2 接口使用 xff1a API 问题报错提示 xff1a Access to XMLHttpRequest at span class token string 39 h
  • vmware虚拟机ubuntu18.04桌面版安装教程

    vmware虚拟机ubuntu18 04桌面版安装教程 一 安装环境 xff1a VMware Workstation xff1a 15 5Pro Ubuntu xff1a 18 04桌面版 二 安装教程 xff1a 创建虚拟机 选择 自定
  • Python系列 | Turtle绘图学习之羽毛球随机点训练场

    绘图之前先要安装turtle模块 xff1a python 2 xff1a pip install turtle python 3 pip3 install turtle 绘图思路 xff1a 首先绘制出外正方形和内线 xff0c 然后使用
  • 大数据系列 | 全国职业院校技能大赛大数据应用技术赛项笔记分享-离线抽取模块

    离线数据抽取 写在前面 xff1a 此笔记是本人在备战2022年大数据赛项整理出来的 xff0c 不涉及国赛涉密内容 xff0c 如点赞收藏理想 xff0c 我将会把所有模块的笔记开源分享出来 xff0c 如有想询问国赛经验的可以关注私聊我
  • C语言系列 | 简单题练习

    第一题 xff1a 简易计算器 思路 xff1a 定义变量后使用while无限循环执行 xff0c 使用switch语句实现多分支选择 源代码 xff1a span class token macro property span class
  • Python系列 | 基于Requests和PyEcharts实现爬取博客数据可视化大屏分析

    博客数据分析大屏可视化实现的效果 xff1a 一 核心功能设计 学习笔记分享 xff1a 博客作者数据分析实现的思路大致为爬虫 用户通过控制台输入用户博客地址和博客文章地址 和大屏可视化展示两方面 接下来我们可以通过以下几步实现需求 xff
  • C++ 引用 乱七八糟的总结

    1 什么是 引用 xff1f 申明和使用 引用 要注意哪些问题 xff1f 引用就是某个目标变量的 别名 alias xff0c 对应用的操作与对变量直接操作效果完全相同 申明一个引用的时候 xff0c 切记要对其进行初始化 引用声明完毕后
  • 麻将胡牌算法(查表法 和 拆解法)

    1 查表法计算麻将胡牌 原理 http hp vector co jp authors VA046927 mjscore mjalgorism html 2 跟拆解法对比进行效率比较 package main import 34 fmt 3
  • FreeRTOS第一步:创建多任务

    目录 单片机裸机开发与基于操作系统开发 FreeRTOS介绍 创建多任务 SRAM 动态内存 一 动态内存空间的堆从哪里来 xff1a 二 定义任务函数 xff1a 三 定义任务栈 xff1a 四 定义任务控制块指针 xff1a 五 动态创
  • Android studio 使用记录

    一 常用技巧 1 代码格式化 Code gt Reformat Code 2 自动删除多余的import Code gt Optimize imports 3 从工程中查找某个字符串 Edit gt Find gt Find in path
  • 嵌入式C语言基础知识 -- 函数指针&回调函数&结构体指针

    目录 一 函数指针 xff1a 什么是函数指针 xff1f 函数指针的三种定义方式 xff1a xff08 1 xff09 先定义出函数的类型 xff0c 再通过类型定义函数指针变量 xff08 2 xff09 先定义出函数指针的类型 xf
  • 常见的SSL证书错误代码及解决方法

    有时候SSL证书明明安装了 xff0c 但是为什么不出现绿色小锁呢 xff1f 浏览器总是报错 xff0c SSL证书明明已经安装好了 xff0c 怎么突然访问不显示绿色安全锁呢 xff1f 针对这些问题 xff0c 整理出一些常见的SSL
  • Tomcat 8.5和Tomcat 9安装SSL证书的教程

    第一步 xff1a 准备好所需要的证书文件 xff0c Tomcat8 5和Tomcat9部署ssl证书一般使用JKS文件 xff0c 如果有Pem和key文件 xff0c 也需要合成JKS文件 第二步 xff1a 打开tomcat配置文件
  • 浅谈人工智能(AI)

    人工智能 AI 一 人工智能简介 1 1 人工智能定义和发展历史 人工智能 xff08 Artificial Intelligence xff09 xff0c 英文缩写为AI 它是研究 开发用于模拟 延伸和扩展人的智能的理论 方法 技术及应
  • 睿智的目标检测31——非极大抑制NMS与Soft-NMS

    注意事项 Soft NMS对于大多数数据集而言 xff0c 作用比较小 xff0c 提升效果非常不明显 xff0c 它起作用的地方是大量密集的同类重叠场景 xff0c 大量密集的不同类重叠场景其实也没什么作用 xff0c 同学们可以借助So
  • ubuntu18.04 安装Pangolin

    按照Github上面的教程走即可 xff0c 非常简单 https github com stevenlovegrove Pangolin 首先要安装一些必要的库 Glew xff1a sudo apt get install libgle
  • freertos 学习 资源整理

    1 freertos 官方网站 freertos 官方网站 https www freertos org index html 源码下载 xff1a https sourceforge net projects freertos 2 如何下