FREERTOS 入门

以下为学习freertos的过程知识记录,源自网上学习,谢谢各位网友大神!现总结于此,便于日后温习。

FREERTOS 官网: http://www.freertos.org/  

 freertos BSP开发包下载:http://sourceforge.net/projects/freertos/files/FreeRTOS/  ,这里可以下载最新版本和历史版本。可是找来好半天,再找到的。大笑

 

freertos 学习网站:http://xilinx.eetrend.com/article/7845  对freertos 比较全面的讲解和代码剖析。

 

http://blog.csdn.net/findaway123/article/category/1852921  

尤其http://blog.csdn.net/liyuanbhu/article/details/7853717    FreeRTOS 源代码的编程标准与命名约定  中文版说明的很好。

 

1.FreeRTOS文件:

    FreeRTOS的文件结构非常简单,移植或者版本升级替换也非常方便。

以上为开发包的文件夹。

    1)与FreeRTOS内核有关的文件数量仅为3个,分别是list.c queue.c tasks.c

    该文件位于FreeRTOS\Source

 

此为source文件夹下文件,最新版本还有event_groups.c文件。

 

    2)与内存分配有关的文件共有4个,分别是heap_1.c,heap_2.c,heap_3.c,heap_4.c。4个文件只需选择其中的1个,STM32选择heap_2.c。当然这为内存分配方式,可以根据程序需求选择适合的内存划分方式。

    该文件位于FreeRTOS\Source\portable\MemMang

     最新版本升级heap_4.c,和增加heap_5.c,用于支持64位硬件。

    3)与移植相关的代码包括port.c,portmacro.h。这些代码不但和编译器有关还和平台(MCU)有关。FreeRTOS先以编译器为大类,然后再以平台(MCU)为小类。在这里选择MDK编译器,平台为ARM_CM4F。

    该文件位于FreeRTOS\Source\portable\RVDS\ARM_CM4F

    很旧版本之前有汇编文件portasm.s,现在官方已增加到port.c文件中,就不需要我们配置修改。

    4)除了上述内容之外,还包括FreeRTOS内核相关的头文件。

    该文件FreeRTOS\Source\include

主要是根据需要进行。h文件宏定义的配置。

portmacro.h

portmacro.h 主要包括两部分内容,第一部分定义了一系列内核代码中用到的数据类型。

然后是一些硬件相关的定义。包括数据对其方式,堆栈增长方向,Tick Rate,还有任务切换的宏。

是个很重要的配置文件。

 

下一节讲freertos的移植过程和日常版本升级过程的操作流程。

FreeRTOS是一个开源的实时操作系统内核,用于嵌入式系统的开发。它提供了任务调度、内存管理、中断处理等功能,可以帮助开发者更方便地编写多任务的嵌入式应用程序。 在FreeRTOS项目中,需要包含一些源文件来构建工程。这些源文件包括tasks.c、queue.c、list.c、timers.c、event_groups.c等,它们位于FreeRTOS/Source目录下。此外,还需要包含一些特定于编译器和处理器架构的源文件,它们位于FreeRTOS/Source/portable/\[compiler\]/\[architecture\]目录下。还有一个可选的文件heap_n.c,从FreeRTOS V9.0.0开始成为可选的了。 创建一个新的FreeRTOS工程可以通过两种方式进行。一种是从现有的示例工程中创建新的工程,另一种是从头开始创建一个新的工程。 如果选择从现有的示例工程中创建新的工程,可以按照以下步骤进行操作: 1. 使用自己选择的工具链创建一个新的工程,确保它可以正常编译、下载到目标硬件并执行。 2. 将示例工程中使用的FreeRTOSConfig.h头文件复制到新工程的目录中。 3. 将FreeRTOS/Source/include和FreeRTOS/Source/portable/\[compiler\]/\[architecture\]路径添加到工程的搜索路径中,以查找头文件。 4. 复制示例工程中的编译器设置。 5. 编写或复制任何可能是必要的FreeRTOS中断处理程序。 如果选择从头开始创建一个新的FreeRTOS工程,可以按照以下步骤进行操作: 1. 创建一个新的工程,并确保它可以正常编译、下载到目标硬件并执行。 2. 在main函数中执行必要的硬件设置。 3. 创建应用程序任务。 4. 启动任务调度器。 以上是关于FreeRTOS开源项目的一些基本信息和创建新工程的步骤。希望对你有帮助!\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [创建FreeRTOS工程](https://blog.csdn.net/qq_49525196/article/details/128343091)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值