如何创建标准的RT-Thread项目工程?详细过程分析概述

描述

1 本文的目的和结构

1.1 本文的目的和背景

RT-Thread 完全开源开放,支持几十款 BSP,支持多种编译器,支持众多基础组件以及数量持续增长的软件包,然而对于工程项目开发来说,只需要支持一款或者有限几款 MCU,使用一种熟悉的 IDE 开发环境,使用有限的外设和组件,本文档旨在指导用户在全功能 RT-Thread 版本基础上,根据项目需求搭建 RT-Thread 工程框架。

1.2 本文的结构

本文首先介绍了一下必须的准备工作,然后介绍了如何使用 RT-Thread 提供的 Env 工具配置工程,最后介绍了如何添加自己的应用代码和管理自己的模块。

2 准备工作

下载 RT-Thread 源代码。

准备 Env 开发环境

安装好 MDK 软件或者 IAR 软件。

3 标准工程管理

3.1 选择 BSP

用户获取 RT-Thread 源代码后就可以根据自己手上的开发板型号找到对应的 BSP,就可以运行 BSP 提供的默认工程了。大部分 BSP 都支持 MDK﹑IAR 开发环境和 GCC 编译器,并且已经提供了默认的 MDK 和 IAR 工程。

本文后续章节将使用正点原子 STM32F4 探索者开发板演示相关操作。此开发板 MCU 型号是 STM32F407ZGT6,对应使用的 BSP 为 stm32f4xx-HAL,在 RT-Thread 源代码的 BSP 目录下。

这个 BSP 支持 MCU 型号为 stm32f4xx 的 开发板, 默认使用串口 2 作为 shell 控制台输出使用串口,用户可以查看 README.md 文件查看自己开发板使用的串口。本文使用 SEGGER JLINK 连接 JTAG 调试,使用 USB SLAVE(USART1)供电。

3.2 搭建项目框架

打开 Env 工具进入 stm32f4xx-HAL 目录,运行scons --dist命令。使用此命令会在 stm32f4xx-HAL BSP 目录下生成名为 dist 目录,这便是开发项目的目录结构,RT-Thread 源码位于项目文件夹内,仅包含stm32f4xx-HAL 的 BSP,可以随意拷贝到任何目录下运行。

3.3 修改工程模板

对工程的一些基本配置,用户需要针对自己的需求做一些工程配置,比如配置 MCU 型号,设置调试选项等。建议大家直接修改工程模板,这样下面阶段生成的新工程,也都会包含对模板的修改,MDK 的模板工程为 template.uvprojx。IAR 的模板工程为 template.eww,注意 IAR 工程模板这样修改可能会导致生成的新工程低版本 IAR 软件用不了。

下图为修改 MDK 工程模板文件的芯片型号示例。

然后根据自己使用的调试工具选择对应的调试选项,相关配置修改完成后就可以关闭模板工程。

注意:有其他需要对工程配置进行修改的地方都建议修改模板文件,但是自己应用代码的添加不建议在工程模板里添加。

3.4 配置和裁剪 RT-Thread

每个 BSP 下的工程都有默认的配置,比如系统内核支持的最大线程优先级、系统时钟频率、使用的设备驱动、控制台使用的串口等。RT-Thread 操作系统具有高度的可裁剪性,用户可以根据自己的需求使用 env 工具进行配置和裁剪。

双击 env.exe 打开配置界面,然后使用cd d: epository t-threadspstm32f4xx-HAL命令进入 BSP 工程目录,cd 后面跟用户自己的工程目录。然后在使用menuconfig命令打开配置界面。

menuconfig 常用快捷键如图所示:

3.5 使能在线软件包

下图使能了 mqtt 相关的软件包。

3.6 生成工程

配置工程后都使用scons --target=mdk5命令或者scons --target=iar命令生成 MDK 或者 IAR 工程。如果大家直接修改 MDK 工程文件 project.uvprojx 或者 IAR 的工程文件 project.ewww 添加自己的代码,或者修改工程的一些基本配置,生成的新工程会覆盖之前对工程文件 project 的手动修改。

打开新生成的 MDK 工程 project.uvprojx ,可以看到我们选择的 paho mqtt 相关的软件包源文件已经被添加到了工程中。

3.7 验证工程

编译工程,生成目标代码,然后就可以下载至开发板运行。本文使用终端软件 PuTTY 接收工程控制台对应串口 2 发送的数据,电脑右键→属性→设备管理器→端口(COM 和 LPT),即可查看串口 2 对应的 COM 号,本文为 COM14。打开 PuTTY 按照下图配置,波特率一般配置为 115200。

点击 open 打开,重启开发板后会看到 RT-Thread 的启动 logo 信息。

3.8 添加文件到工程

BSP 下的 applications 文件夹用于存放用户自己的应用代码,目前只有一个 main.c 文件。如果用户的应用代码不是很多,建议相关源文件都放在这个文件夹下面,本文在 applications 文件夹下新增了 2 个简单的文件 hello.c 和 hello.h。

/* file: hello.h */

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分