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

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

3天内不再提示

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

RTThread物联网操作系统 来源:未知 作者:易水寒 2018-08-18 11:25 次阅读

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*/

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

    关注

    146

    文章

    17115

    浏览量

    350922
  • BSP
    BSP
    +关注

    关注

    1

    文章

    87

    浏览量

    26145
  • RT-Thread
    +关注

    关注

    31

    文章

    1285

    浏览量

    40066

原文标题:创建标准的 RT-Thread 项目工程

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RT-Thread Studio 安装教程(详细简单)

    如下图所示:填写工程名,选择 RT-Thread 源码版本,选择对应的 BSP,然后点击完成按钮,如下图所示:点击完成后,等待工程创建过程
    发表于 03-29 07:07

    如何使用Env创建RT-Thread项目工程

    本文用来指导用户按照标准方式创建和管理 RT-Thread 工程
    发表于 03-30 06:55

    RT-Thread Studio 新建项目项目导入介绍

    ,会在原工程目录下创建 .rtt-studio 的工程目录文件夹,如下图所示:项目资源管理器此时显示界面, 如下图所示 :当一个 MDK工程
    发表于 08-10 16:52

    如何使用RT-Thread Studio创建支持HPM6750开发板的RT-Thread项目

    RT-Thread Studio是RT-Thread官方团队开发的集成开发环境(IDE)。使用RT-Thread Studio我们可以很方便的创建基于
    发表于 06-08 11:22

    如何按照标准方式创建和管理RT-Thread工程

    本文的目的和结构本文的目的和背景RT-Thread 完全开源开放,支持几十款 BSP,支持多种编译器,支持众多基础组件以及数量持续增长的软件包,然而对于工程项目开发来说,只需要支持一款或者有限几款
    发表于 10-25 14:34

    RT-Thread创建项目总显示已存在删了没用怎么办?

    创建RT-Thread项目时,总显示要创建工程项目已存在,我去指定目录删了以后,再打开RT-Threa
    发表于 01-09 17:03

    RT-Thread STM32 配置系统时钟(使用外部晶振)

    ,没有更新最新版本软件)RT-Thread内核:V4.0.2STM32 CubeMX: V5.6.0一、创建RT-Thread项目打开RT-Thre
    发表于 12-14 18:45 14次下载
    <b class='flag-5'>RT-Thread</b> STM32 配置系统时钟(使用外部晶振)

    RT-Thread Studio驱动SD卡

    RT-Thread Studio驱动SD卡前言一、创建基本工程1、创建Bootloader2、创建项目
    发表于 12-27 19:13 20次下载
    <b class='flag-5'>RT-Thread</b> Studio驱动SD卡

    如何创建RT-Thread Nano工程

    本文将尝试使用国产的嵌入式实时操作系统RT-Thread,相比较于FreeRTOS,RT-Thread还是有很多有点的,比如有Fish命令行界面,国产开源免费,Nano版本代码量极小,移植起来非常
    的头像 发表于 03-19 12:13 3783次阅读

    如何使用xmake工具来编译rt-thread工程

     在最新的 rt-thread 主仓库,支持使用 xmake 工具来编译 rt-thread 工程。   
    的头像 发表于 05-11 15:03 2197次阅读
    如何使用xmake工具来编译<b class='flag-5'>rt-thread</b><b class='flag-5'>工程</b>

    RT-Thread设备模型框架及创建注册设备的实现

    RT-Thread设备模型框架及创建注册设备的实现方式介绍如下:
    的头像 发表于 05-28 10:38 2169次阅读
    <b class='flag-5'>RT-Thread</b>设备模型框架及<b class='flag-5'>创建</b>注册设备的实现

    RT-Thread全球技术大会:POSIX FILE select的调用过程

    在上午RT-Thread全球技术大会,RT-Thread开发者详细介绍了POSIX FILE select的调用过程。如下图:
    的头像 发表于 05-28 10:56 1541次阅读
    <b class='flag-5'>RT-Thread</b>全球技术大会:POSIX FILE select的调用<b class='flag-5'>过程</b>

    RT-Thread学习笔记 RT-Thread的架构概述

    联网操作系统。 RT-Thread 概述 RT-Thread,全称是 Real Time-Thread,顾名思义,它是一个嵌入式实时多线程
    的头像 发表于 07-09 11:27 4540次阅读
    <b class='flag-5'>RT-Thread</b>学习笔记 <b class='flag-5'>RT-Thread</b>的架构<b class='flag-5'>概述</b>

    RT-Thread文档_RT-Thread 简介

    RT-Thread文档_RT-Thread 简介
    发表于 02-22 18:22 5次下载
    <b class='flag-5'>RT-Thread</b>文档_<b class='flag-5'>RT-Thread</b> 简介

    RT-Thread文档_RT-Thread SMP 介绍与移植

    RT-Thread文档_RT-Thread SMP 介绍与移植
    发表于 02-22 18:31 9次下载
    <b class='flag-5'>RT-Thread</b>文档_<b class='flag-5'>RT-Thread</b> SMP 介绍与移植