0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FreeRTOS_002_ 源码文件描述与提取建立工程

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-14 11:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

文件描述

目前(2017年08月)官网最新版本的FreeRTOS是V9.0.0(其他某些地方已经出现了V9.1.0),我们以官网最新为准,使用V9.0.0版本来进行讲述。

解压下载的FreeRTOSv9.0.0源码,我们可以看见如下一些文件:

预览:

1.FreeRTOS V9和之前版本相比

a.V9内核源码(FreeRTOS/Source)有较大差异,其他部分(如Demo例程及FreeRTOS-Plus下)的代码基本都一样;

b.目录结构一样,也就是各个目录下的文件一样(只是文件里面内容有差别)。

2.文件描述

细心的朋友可能会发现,解压后的源码每一个目录下都有一个“readme.txt”文件和一些网页链接文件。这两样文件就是对所在目录最好的描述,为了方便初学者,我简单讲述一下各层目录及目录下文件的意思。

第一层目录:

FreeRTOS:包含Demo例程和内核源码(比较重要,我们就需要提取该目录下的大部分文件);

FreeRTOS-Plus:包含组件源码和组件对应的Demo例程。这里组件可以理解为扩展功能,如:CLI(Command-Line Interface)命令行界面、FAT文件系统。针对初学者,这里的内容可以暂时不学。

New - Direct to Task Notifications:任务相关描述的网页链接;

New - FreeRTOS+TCP:FreeRTOS与TCP/IP协议栈相关描述的网页链接。上一篇文章有朋友留言说FreeRTOS没有自己支持的GUI,我相信后面应该会增加属于自己的GUI。

Quick_Start_Guide:快速指南,将指导你如何快速移植并在自己的平台运行FreeRTOS。建议初学者多看看这个网页下的内容。

readme:自述文件,讲述该目录下各个文件的文件。

Upgrading-to-FreeRTOS-9:版本升级相关说明的网页链接。比如:向下兼容、创建任务静态分配等更新说明:

-Backward Compatibility

-Completely Statically Allocated Systems

-Creating Tasks and Other RTOS Objects Using Statically Allocated RAM

-Forcing an RTOS Task To Leave the Blocked State

-Deleting Tasks

-Obtaining a Task Handle from the Task Name

-Other Changes

第二层目录:

FreeRTOS\Demo:这个目录下内容就是Deme例程,我们可以直接打开里面的工程文件,有对应的平台(开发板)就可以跑起FreeRTOS提供的例程。

提示一下:这里的Demo例程很多都是比较老的,只是后面陆续有新增进来。拿CORTEX_STM32F103_Keil来说,这都是零几年Uv2的老工程了。为什么我们需要重新移植,就是这例程太老了,不然我们都直接使用这里的工程了。

FreeRTOS\License:许可文件。

FreeRTOS\Source:内核源码(不用说在,重要文件,移植就是提取该目录文件)

links_to_doc_pages_for_the_demo_projects:例程说明,比较重要,详细列出不同厂家的Demo例程并讲述了每一个例程重要的信息,如下:

FreeRTOS-Plus\Demo:和上面的Demo类似,这里只是划分为Plus里面。

FreeRTOS-Plus\Source:组件源代码。

重要的一些目录:

FreeRTOS\Source\portable\MemMang:内存管理,操作系统都有自己的内存管理,这里有五个源文件heap_1.c 至 heap_5.c。简单来说,5种内存管理方式,我们只用一种。

FreeRTOS\Source\portable\IAR:关于EWARM相关的底层接口

FreeRTOS\Source\portable\RVDS:关于MDK-ARM相关的底层接口;

提取有用文件建立工程

我们以STM32F103 + MDK-ARM来举例。

1.提取FreeRTOS中有用文件

通过上面的分析,相信大家对解压后的文件都有所了解了,我们主要提取FreeRTOS\Source这个目录下的文件 +FreeRTOS\Demo下对应芯片工程中的FreeRTOSConfig.h。

提示:FreeRTOS\Source\portable目录下是与底层相关的接口,与底层关联,我们许多都用不上,

我们主要提取三个文件:

MemMang:内存管理代码;

IAR:使用EWARM相关的底层代码;

RVDS:MDK-ARM相关的底层代码;

2.建立工程

这一节建立工程的内容我不会从头到尾讲述,新建工程我已经讲述的很详细,不懂的可以参看我下面两篇文章。我们只是需要在之前新建STM32工程的基础上添加FreeRTOS相关源代码即可。

1.MDK-ARM_新建软件工程详细过程

2.EWARM_新建软件工程详细过程

在MDK-ARM中添加之后,如下图:

EWARM建立的工程、提取的文件、新建的工程,将在下一篇文章中为大家呈现。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2313

    文章

    11205

    浏览量

    375107
  • 源码
    +关注

    关注

    8

    文章

    689

    浏览量

    31544
  • FreeRTOS
    +关注

    关注

    14

    文章

    501

    浏览量

    67372
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CY15FRAMKIT-002 串行 F-RAM 开发套件:功能与使用指南

    CY15FRAMKIT-002 串行 F-RAM 开发套件:功能与使用指南 作为电子工程师,我们在开发过程中常常需要可靠且高效的存储解决方案。CY15FRAMKIT-002 串行 F-RAM 开发
    的头像 发表于 05-17 16:45 215次阅读

    深入解析TPS40200EVM - 002评估模块:设计、测试与应用

    深入解析TPS40200EVM - 002评估模块:设计、测试与应用 在电子工程师的日常工作中,电源模块的设计与评估是至关重要的环节。今天,我们将深入探讨德州仪器(Texas Instruments
    的头像 发表于 04-24 09:05 377次阅读

    STEVAL - ISA002V1 6W单输出电源模块评测

    STEVAL - ISA002V1 6W单输出电源模块评测 在电子设备的电源设计领域,开关电源以其高效、灵活等优势成为了众多工程师的首选。今天我们就来深入了解一下意法半导体(ST)推出的STEVAL
    的头像 发表于 04-16 15:05 216次阅读

    安森美NTBLS002N08MC MOSFET:高效功率解决方案

    的NTBLS002N08MC,一款单通道N沟道功率MOSFET,它以其出色的性能和广泛的应用场景,成为众多工程师的理想选择。 文件下载: NTBLS002N08MC-D.PDF 一、产
    的头像 发表于 04-14 14:00 145次阅读

    安森美NTMTSC002N10MC N沟道功率MOSFET深度解析

    (onsemi)推出的一款N沟道功率MOSFET——NTMTSC002N10MC,看看它有哪些独特的特性和优势。 文件下载: NTMTSC002N10MC-D.PDF 产品特性亮点 紧凑
    的头像 发表于 04-10 14:00 180次阅读

    探索 NTTFS002N04CL:高效 N 沟道 MOSFET 的卓越性能与应用潜力

    探索 NTTFS002N04CL:高效 N 沟道 MOSFET 的卓越性能与应用潜力 在电子工程领域,MOSFET(金属 - 氧化物 - 半导体场效应晶体管)是至关重要的元件,广泛应用于各种电路设计
    的头像 发表于 04-10 11:15 244次阅读

    解析 NVTYS002N03CL:一款高性能 N 沟道 MOSFET

    与电路设计中。今天和大家分享的 ON Semiconductor 的 NVTYS002N03CL N 沟道 MOSFET,以其出色的性能和高可靠性,成为了设计工程师的理想选择。 文件下载
    的头像 发表于 04-07 11:50 243次阅读

    深入剖析HVLED002:高性能LED控制器的卓越之选

    深入剖析HVLED002:高性能LED控制器的卓越之选 作为电子工程师,在设计LED驱动电路时,选择一款合适的控制器至关重要。今天,我们就来详细剖析一下HVLED002这款高性能电流模式LED控制器
    的头像 发表于 01-27 09:15 324次阅读

    XDP™ XDP700 - 002:MOSFET 适配器板设置指南

    XDP™ XDP700 - 002:MOSFET 适配器板设置指南 作为电子工程师,在进行硬件设计开发时,对各类评估板和适配器板的了解与使用至关重要。今天就来详细介绍一下 Infineon
    的头像 发表于 12-19 09:55 453次阅读

    Amphenol FCI Basics MicroSpaceXS™ 提取工具解析

    Amphenol FCI Basics MicroSpaceXS™ 提取工具解析 在电子工程师的日常工作中,线束返工是一个常见的任务。而要高效、安全地完成线束返工,一款合适的提取工具至关重要。今天
    的头像 发表于 12-11 16:00 678次阅读

    E203工程源码时钟树解析

    的system.v文件以及引脚约束文件,和rtl文件夹内的源码,我们参考源码绘制了E203在MCU200T的时钟树,方便我们团队对E203
    发表于 10-29 07:25

    FPNew开源浮点运算单元工程建立

    在添加浮点运算单元时,可以引用开源的浮点运算器以简化所需工作任务压力。在此我们采用了FPnew这个开源工程,再次介绍一些如何将其导成vivado工程。 首先在github上下载fpnew工程
    发表于 10-24 11:08

    studio建立f429工程使用 lwip运行错误的原因?

    1.studio建立f429工程使能 lwip ,按照 board.h 文件中的描述添加了 eth 驱动,RMII 模式 phy为lan8720, 运行时出现 tcpip 线程崩溃,调
    发表于 09-18 07:30

    关于ANSA metadata文件描述

    包括ANSA多体动力学信息的注释,以及描述ANSA多体动力学和人体模型特定部位变形信息的内容。针对市面上现有的绝大部分人体模型,都开发出了相应的metadata文件
    的头像 发表于 07-29 11:27 1800次阅读
    关于ANSA metadata<b class='flag-5'>文件</b>的<b class='flag-5'>描述</b>

    【RA4L1-SENSOR】04 用FreeRTOS重构工程

    ,是目前市场占有率最高的 RTOS。 3. 软件部分 3.1 创建工程 创建工程的详细过程就参考我之前写的RA4L1的实验1,主要是这里RTOS选择FreeRTOS v11.1.0+fsp5.9.0
    发表于 06-16 22:28