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例程4-串口DMA收发不定长数据

    FreeRTOS例程4 串口DMA收发不定长数据 知乎 zhihu com
  • FreeRTOS内核配置说明---FreeRTOS Kernel V10.2.1

    FreeRTOS内核是高度可定制的 使用配置文件FreeRTOSConfig h进行定制 每个FreeRTOS应用都必须包含这个头文件 用户根据实际应用来裁剪定制FreeRTOS内核 这个配置文件是针对用户程序的 而非内核 因此配置文件一般
  • FreeRTOS学习笔记 6 - 互斥量

    目录 1 创建 2 获取 3 释放 4 测试 FreeRTOS不支持调度方式的设置 所以下面2个宏定义可以随意设置值 define RTOS IPC FLAG FIFO 0x00 define RTOS IPC FLAG PRIO 0x01
  • ZYNQ中FreeRTOS中使用定时器

    使用普通的Timer中断方式时 Timer中断可以正常运行 但是UDP通信进程无法启动 其中TimerIntrHandler是中断服务程序 打印程序运行时间与从BRAM中读取的数据 void SetupInterruptSystem XSc
  • FreeRTOS打印任务对CPU的占有率

    1 配置RTOS 1 打开RTOS Config Parameter 找到Run Time And Task States gathering related definitions 使能GENERATE RUN TIME STATS US
  • FreeRTOS_中断

    传送门 博客汇总帖 传送门 Cortex M3 中断 异常 传送门 Cortex M3笔记 基础 笔记内容参考 正点原子的FreeRTOS开发手册 cortex m3权威指南 Cortex M3和Cortex M4权威指南等 文中stm32
  • FreeRTOS:中断配置

    目录 一 Cortex M 中断 1 1中断简介 1 2中断管理简介 1 3优先级分组定义 1 4优先级设置 1 5用于中断屏蔽的特殊寄存器 1 5 1PRIMASK 和 FAULTMASK 寄存器 1 5 2BASEPRI 寄存器 二 F
  • 基于HAL库的FREERTOS-----------三.队列

    一 队列简介 在实际的应用中 常常会遇到一个任务或者中断服务需要和另外一个任务进行 沟通交流 这个 沟通交流 的过程其实就是消息传递的过程 在没有操作系统的时候两个应用程序进行消息传递一般使用全局变量的方式 但是如果在使用操作系统的应用中用
  • FreeRTOS基础五:软件定时器

    软件定时器简介 软件定时器的作用 在指定的时间到来时执行指定的函数 或者以某个频率周期性地执行某个函数 被执行的函数叫做软件定时器回调函数 软件定时器由FreeRTOS内核实现 不需要硬件支持 软件定时器只有在软件定时器回调函数被调用时才需
  • FreeRTOS之软件定时器

    FreeRTOS之软件定时器 声明 本人按照正点原子的FreeRTOS例程进行学习的 欢迎各位大佬指责和批评 谢谢 include sys h include delay h include usart h include led h in
  • FreeRTOS笔记(一)简介

    这个笔记主要依据韦东山freertos快速入门系列记录 感谢韦东山老师的总结 什么是实时操作系统 操作系统是一个控制程序 负责协调分配计算资源和内存资源给不同的应用程序使用 并防止系统出现故障 操作系统通过一个调度算法和内存管理算法尽可能把
  • Arduino IDE将FreeRTOS用于STM32

    介绍 适用于STM32F103C8的FreeRTOS STM32F103C是一种能够使用FreeRTOS的ARM Cortex M3处理器 我们直接在Arduino IDE中开始使用STM32F103C8的FreeRTOS 我们也可以使用K
  • FreeRTOS笔记(二)

    FreeRTOS笔记 二 静态任务 文章目录 FreeRTOS笔记 二 静态任务 一 任务定义 二 任务创建 2 1 定义任务栈 2 2 定义任务函数 2 3 定义任务控制块 2 4 实现任务创建函数 三 实现就绪列表 3 1 定义就绪列表
  • STM32 Freertos 添加 外部sram heap_5.c

    1 添加外部SRAM 初始化 2 添加heap 5 c 3 初始化heap 5 c 外部堆栈 Define the start address and size of the two RAM regions not used by the
  • FreeRTOSConfig.h 配置优化及深入

    本篇目标 基于上一篇的移植freertos stm32f4 freertos 上 修改 FreeRTOSConfig h 文件的相关配置来优化辅助 FreeRtos 的使用 并且建立一些基本功能 信号量 消息地列等 的简单应用位于 stm3
  • FreeRTOS 配置TICK_RATE_HZ

    我使用的是带有 5 4 版 FreeRTOS 的 MSP430f5438 我有一个有趣的问题 我无法弄清楚 基本上 当我将 configTICK RATE HZ 设置为不同的值时 LED 闪烁得更快或更慢 它应该保持相同的速率 我将 con
  • 使用 GCC 编译器的 ARM 内核的堆栈回溯(当存在 MSP 到 PSP 切换时)

    核心 ARM Cortex M4 编译器 GCC 5 3 0 ARM EABI 操作系统 免费 RTOS 我正在使用 gcc 库函数 Unwind Reason Code Unwind Backtrace Unwind Trace Fn v
  • 有可用的 FreeRTOS 解释语言库吗?

    我在一家公司工作 该公司使用 FreeRTOS 为多个设备创建固件 最近 我们对新功能的要求已经超出了我们固件工程师的工作能力 但我们现在也无力雇用任何新人 即使进行微小的更改 也需要固件人员在非常低的级别上进行修改 我一直在为 FreeR
  • 小型 ARM 微控制器的 RTOS 内核之间的可量化差异 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有许多不同的 RTOS 可用于微控制器 我专门寻找支持 ARM Cortex M 处理器的 RTOS 另外 我对闭源解决方案不感兴趣 试图从网站
  • 有关 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 如何下