RT-Thread Env 工具介绍(学习笔记)

本文参考《RT-Thread 文档中心——Env 用户手册》

Env 简介

Env 是 RT-Thread 推出的开发辅助工具,针对基于 RT-Thread 操作系统的项目工程,提供编译构建环境、图形化系统配置及软件包管理功能。

其内置的 menuconfig 提供了简单易用的配置剪裁工具,可对内核、组件和软件包进行自由裁剪,使系统以搭积木的方式进行构建。

——原文

下载 Env

Env 工具包含了 RT-Thread 源代码开发编译环境和软件包管理系统。下载地址:https://www.rt-thread.org/page/download.html

【注意】

  • Env 的软件包管理功能需要 Git 的支持,Git 下载地址:https://git-scm.com/downloads,同时还需将 Git 添加到环境变量中。
  • 在工具环境中的路径名中,不能出现中文字符或空格。

Env 的启动

有两种方法启动 Env,一种是直接打开 env.exe,打开失败可以尝试使用 env.bat(这时的工作路径在 Env 软件所在目录);另一种是通过右键菜单打开,但需要先将 Env 添加到右键菜单中,具体的操作可以参考下图:

图片来源:《RT-Thread 文档中心——Env 用户手册》

在这里插入图片描述

使用 Env 编译 BSP

scons 是 RT-Thread 使用的编译构建工具,可以使用 scons 相关命令来编译 RT-Thread 。

随便进入一个 RT-Thread BSP 工程,输入 scons 命令,这时 Env 将使用默认的 ARM_GCC 工具链编译 bsp:

在这里插入图片描述

编译成功,编译的最后一步是使用 arm-none-eabi-bojcopy 将 .elf 文件转换为 .bin 文件(二进制可执行文件)。

在这里插入图片描述

如果是使用 mdk/iar 项目,可以使用以下命令进行编译。

scons --target=iar
scons --target=mdk4
scons --target=mdk5

下图是使用 scons --target=mdk5 编译的结果,工程链接完成后,使用了 fromeelf 将 .elf 文件转换成了 .bin 文件。

在这里插入图片描述
而 fromelf 正是 Keil 软件所用的格式转换工具:

在这里插入图片描述

使用 Env 配置 BSP

menuconfig 是一种图形化配置工具,RT-Thread 使用其对整个系统进行配置、裁剪。

在 bsp 根目录(需要有 Kconfig 文件)输入 menuconfig 命令即可打开图像化配置工具:

在这里插入图片描述

该图像菜单支持的功能包括:RT-Thread 内核配置(修改 rtconfig.h)、RT-Thread 组件管理、RT-Thread 在线软件包、硬件驱动配置及外部库。

内核配置

一个 RT-Thread 工程的所有内核配置都放在 rtconfig.h 中,通过修改 RT-Thread Kernel 的配置,就能实现修改 rtconfig.h 的目的。

在这里插入图片描述

组件管理

RT-Thread 有很多可裁剪的组件,比如命令行(msh)、网络、设备驱动。

在这里插入图片描述

软件包管理

RT-Thread 提供一个软件包管理平台,这里存放了官方提供或开发者提供的软件包。该平台为开发者提供了众多可重用软件包的选择,这也是 RT-Thread 生态的重要组成部分。

软件包 Git 仓库:https://github.com/RT-Thread-packages,当前(写文章时)该仓库有 128 个软件包。

在这里插入图片描述

可以在 Env 命令行输入 pkgs 管理软件包的更新(menuconfig 中修改的软件包配置,还需要在 Env 输入 pkgs --update 来同步到工程中)。

在这里插入图片描述

如果长期不对本地的软件包进行更新,可能会出现本地软件包与服务器不同步的情况。这时我们可以通过在 Env 命令行输入 pkgs --upgrade 来解决这个问题。而且它还能对 Env 进行升级。

驱动配置

在这里可以管理 bsp 相关驱动的开启与关闭,

在这里插入图片描述

下面是片上外设驱动中的选项:

在这里插入图片描述

外部库

外部库里可以选择是否使用某些工程目录下的某些库,下面这几个是正点原子潘多拉开发板 bsp 中的外部库。

在这里插入图片描述

Env 工具配置

新版本的 Env 工具中加入了自动更新软件包和自动生成 mdk/iar 工程的选项,默认是不开启的。可以使用 menuconfig -s/–setting 命令来进行配置。

下面是默认配置:

在这里插入图片描述

这里介绍一下第二个功能——自动创建 mdk/iar 工程

当修改 menuconfig 配置后 ,必须输入 scons --target=xxx 来重新生成工程。开启此功能,就会在退出 menuconfig 时,自动重新生成工程,无需再手动输入 scons 命令来重新生成工程。

猜你喜欢

转载自blog.csdn.net/weixin_43772810/article/details/125523892