【STM32FreeRTOS】【内部机制】一、新建一个FreeRTOS工程

1. 工程文件夹介绍

在开始新建工程之前,我们先在本地电脑端新建一个文件夹用于存放工程。文件夹名字取为“Test”(名字可以随意取) ,然后再在该文件夹下面新建各个文件夹和文件。如下图:
在这里插入图片描述
在freertos下还要建立两个文件夹:
在这里插入图片描述
每个文件夹都有相应的作用,都会存放一些特定的文件,具体如下图:
在这里插入图片描述

2. keil新建工程

注意:这里开发环境必须是版本5,即keil 5。也可以将keil 5 汉化为中文。这里使用的是keil 5 汉化版。

2.1 new project(新建项目)

打开keil 5 ,新建项目:
在这里插入图片描述
工程文件放在目录 Project 下面,名称命名为FreeRTOS_test,名称可以随便取,但是必须是英文:
在这里插入图片描述

2.2 Select Device For Target(选择处理器)

当命名好工程名称,点击确定之后会弹出 Select Device for Target 的选项框,让我们选择处理器,这里我们选择 ARMCM3(ARMCM4 或 ARMCM7都可,按照自己使用的芯片选择) :
在这里插入图片描述

2.3 Manage Run-Time Environment(配置运行环境)

选择好处理器,点击 OK 按钮后会弹出 Manage Run-Time Environment 选项框。这里在 CMSIS 栏选中 CORE 和 Device 栏选中 Startup 这两个文件即可:
在这里插入图片描述
点击 OK,关闭 Manage Run-Time Environment 选项框之后,刚刚我们选择的 CORE 和Startup 这两个文件就会添加到我们的工程组里面:
在这里插入图片描述
其实这两个文件刚开始都是存放在 KEIL 的安装目录下,当我们配置 Manage RunTime Environment 选项框之后,软件就会把选中好的文件从 KEIL 的安装目录拷贝到我们的工程目录:Project\RTE\Device\ARMCM3 ( ARMCM4 或 ARMCM7 ) 下 面 。 其 中startup_ARMCM3.s(startup_ARMCM4.s 或 startup_ARMCM7.s)是汇编编写的启动文件,system_ARMCM3.c(startup_ARMCM4.c 或 startup_ARMCM7.c)是 C 语言编写的跟时钟相关的文件。更加具体的可直接阅读这两个文件的源码。只要是 Cortex-M3( ARMCM4 或ARMCM7)内核的单片机,这两个文件都适用。

3. 在 keil工程里面新建文件组

在工程里面添加 user、 FreeRTOS/ports、 FreeRTOS/source 和 doc 这几个文件组,用于管理文件:
在这里插入图片描述
具体怎么添加,鼠标右键 Target1,在弹出的选项里面选择 Add Group即可:
在这里插入图片描述
添加4个文件夹,点击4次改名即可。

4. 在 keil 工程里面添加文件

在工程里面添加好组之后,我们需要把本地工程里面新建好的文件添加到工程里面。具体为把 readme.txt 文件添加到 doc 组, main.c 添加到 user 组,至于 FreeRTOS 相关的文件,还没有编写,那么 FreeRTOS 相关的组就暂时为空,操作流程如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后还要编写main函数,一个工程如果没有 main 函数是编译不成功的,会出错:
在这里插入图片描述

5. 调试配置

5.1 设置软件仿真

最后,我们再配置下调试相关的配置即可。为了方便,我们全部代码都用软件仿真,即不需要开发板也不需要仿真器,只需要一个 keil 软件即可:
在这里插入图片描述

5.2 修改时钟大小

在时钟相关文件 system_ARMCM3.c(system_ARMCM4.c 或system_ARMCM7.c) 的开头,有一段代码定义了系统时钟的大小为 25M。
在这里插入图片描述
这里50M被分频为25M。
在软件仿真的时候,确保时间的准确性,代码里面的系统时钟跟软件仿真的时钟必须一致,所以 Optionsfor Target->Target 的时钟应该由默认的 12M 改成 25M。
在这里插入图片描述

5.3 添加头文件路径

要将freertos下的include文件夹和protable文件夹添加进去:
在这里插入图片描述
至此,一个完整的基于 Cortex-M3(Cortex-M4 或 Cortex-M7) 内核的 FreeRTOS 软件仿真的工程就建立完毕。

参考资料:[野火]《FreeRTOS内核实现与应用开发实战指南》

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值