如何在Embedded Studio中创建一个FreeRTOS项目?

浏览:971来源:本站时间:2021-10-14

创建项目

1、启动Embedded Studio。

2、通过 Tools->Package Manager 添加STM32F4xx的CPU 支持包。(可选)

图片图片

3、通过 File->New Project->Create the project in a new solution 创建新项目。

a.设置项目名称。如果未使用 CPU 包,则选择“用于 Cortex-M 处理器的 一个C/C++ 可执行文件”。按 Next,选择目标设备并继续按 Next 直到项目创建完成。

b.如果你使用的是 CPU 支持包,请从相应的包中选择一个C/C++ 可执行文件...”完成项目创建。

4、使用 J-Link 连接PC 和目标板。

5、使用 F7 构建并使用F5执行新创建的项目。在终端中看到一些 Hello World 输出。


添加FreeRTOS代码

1、在 Embedded Studio 的项目资源管理器和硬盘驱动器的项目文件夹中创建一个新文件夹 /lib/FreeRTOS/FreeRTOS-Kernel。

图片图片


2、 访问www.freertos.org下载 FreeRTOS 软件并解压。

3、在解压后的文件夹中打开文件夹 /FreeRTOS 并将文件夹 /FreeRTOS/Source 复制到 ES 项目文件夹中的 /lib/FreeRTOS/FreeRTOS-Kernel。

4、现在将相同的文件添加到 Embedded Studio 项目浏览器。最简单的方法是将文件夹拖放到 /lib/FreeRTOS/FreeRTOS-Kernel 文件夹中。

5、右键单击该新文件夹并选择设置。选中“Recurse into Subdirectories”框,然后按 确定。

6、该操作将所有FreeRTOS源程序添加到项目中。但是,并非所有文件都需要,因此必须删除错误的文件。为此,首先通过右键单击文件夹并选择“Convert to regular folder”将文件夹转换为常规文件夹。

7、仅需要 /Source 文件夹中的所有 .c 源文件。这包含来自文件夹 /Source/include 和/Source/portable/GCC 和 /Source/portable/MemManage 的所有文件。

8、安全地删除所有其他文件夹和文件,只需选择它们并按 DEL 键右键单击并删除即可。

9、接下来确保在 /Source/portable/MemManage 中只选择了一个 .c 文件,例如:heap_1.c。删除所有其他 .c 文件,否则项目将构建失败。

10、在 /Source/portable/GCC 中确保只包含目标平台架构的文件夹。STM32F401基于Cortex-M4内核,因此只需保留文件夹 /Source/portable/GCC/ARM_CM4F。所有其他文件夹都可以像以前一样安全地删除。

图片


配置工程

1、我们需要创建一个 FreeRTOSConfig.h 文件,该文件将配置您的 FreeRTOS 设置。可以参阅 FreeRTOS 文档或使用来自示例的配置头文件作为参考。例如:上面示例项目中的那个。建议将此文件放入 main.c 文件所在的源文件夹中。在这种情况下,它是项目文件夹中的目录 /source。

2、接下来需要设置所有包含路径。你可以在Project->Options->Preprocessor->User Include目录下的项目选项中添加它。

图片

如果你使用与示例相同的文件夹结构,则必须设置以下三个包含路径。如果使用其他项目结构,请相应地调整路径。

图片

a.$(ProjectDir)/source

b.$(ProjectDir)/lib/FreeRTOS/FreeRTOS-Kernel/Source/include

c.$(ProjectDir)/lib/FreeRTOS/FreeRTOS-Kernel/Source/portable/GCC/ARM_CM4F

3、现在编辑main.c 以包含 FreeRTOS.h 和 task.h,以及其他必需的头文件,并将FreeRTOS 应用程序代码添加到 main.c ,可以使用示例项目 main 作为参考。

图片

4、将第三方库、HAL、驱动程序等添加到您的项目中,类似于您添加 FreeRTOS 内核源的方式。(可选)

5、完成所有这些后,构建应用程序,然后就可以在 Embedded Studio 中调试你的第一个 FreeRTOS 应用程序!

图片图片

注意

京ICP备:京ICP备05011254号-1 版权归北京麦克泰软件技术有限公司所有
北京麦克泰软件技术有限公司