RT-Thread 配置工具

Env用户手册

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

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

主要特性

  • menuconfig图形化配置界面,交互性好,操作逻辑强。
  • 丰富的文字帮助说明,配置无需查阅文档。
  • 使用灵活,自动处理依赖,功能开关彻底。
  • 自动生成rtconfig.h,无需手动修改。
  • 使用scons工具生成工程,提供编译环境,操作简单。
  • 提供多种软件包,模块化软件包耦合关联少,可维护性好。
  • 软件包可在线下载,软件包持续集成,包可靠性高。

Env工具包含了RT-Thread源代码开发编译环境和软件包管理系统。

  • 从RTT官网下载Env工具。
  • 在电脑上装好git,软件包管理功能需要git的支持。
  • 注意在工作环境中,所有的路径都不可以有中文字符或者空格。

Env的使用方法

RT-Thread软件包环境主要以命令行控制台为主,同时以字符型界面来进行辅助,使得尽量减少修改配置文件的方式搭建好RTT开发环境。

编译BSP

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

打开控制台后,可以在命令行模式下使用cd命令切换到想要配置的BSP根目录中。

Env中携带了Python & scons环境,只需在目录中运行scons命令即可使用默认的ARM_GCC工具链编译BSP。

在这里插入图片描述
在这里插入图片描述
如果使用mdk/iar来进行项目开发,可以直接使用BSP中的工程文件或者使用以下命令中的其中一种,重新生成工程,再进行编译下载。

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

BSP配置:menuconfig

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

进入BSP根目录,输入menuconfig命令后即可打开其界面。
在这里插入图片描述

修改配置

menuconfig有多种类型的配置项,修改方法也有所不同,常见类型:

  • 开/关型:使用空格键来选中或者关闭。
  • 数值、字符串型:按下回车键后会出现对话框,在对话框中对配置项进行修改。

保存配置

选择好配置项之后按ESC键退出,选择保存修改即可自动生成rtconfig.h文件。此时再次使用scons命令就会根据新的rtconfig.h文件重新编译工程了。

软件包管理:package

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

package工具作为Env的组成部分,为开发者提供了软件包的下载、更新、删除管理功能。

Env命令行输入pkgs可以看到命令简介:

> pkgs
usage: env.py package [-h] [--update] [--list] [--wizard] [--upgrade]
                      [--printenv]

optional arguments:
  -h, --help  show this help message and exit
  --update    update packages, install or remove the packages as you set in
              menuconfig
  --list      list target packages
  --wizard    create a package with wizard
  --upgrade   update local packages list from git repo
  --printenv  print environmental variables to check

下载、更新、删除软件包

在下载、更新软件包前,需要先在menuconfig中开启想要操作的软件包。
这些软件包位于RT-Thread online packages菜单下,进入该菜单后,可以看到如下分类:
在这里插入图片描述
找到需要的软件包然后选中开启,保存并退出menuconfig。
此时软件包已经被标记选中,但是还没有下载到本地,所以无法使用。

  • 下载:如果软件包在本地已经被选中,但是未下载,此时输入pkgs --update,该软件包自动下载。
  • 更新:如果选中的软件包在服务器端有更新,并且版本号选择的是latest,此时输入:pkgs --update,该软件包会在本地进行更新。
  • 删除:某个软件包如果无需使用,需要先在menuconfig中取消其选中状态,然后再执行pkgs --update,此时本地已下载但未被选中的软件包会被删除。

随着package系统的不断扩大,会有越来越多的软件包加入进来,所以本地看到menuconfig中的软件包列表可能会与服务器不同步。
使用pkgs --upgrade命令解决该问题,这个命令不仅会对本地的包信息进行更新同步,还会对Env的功能脚本进行升级,建议定期使用。

Env工具配置

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

使用menuconfig -s命令进入Env配置界面。
在这里插入图片描述
按下回车进入配置菜单,里面共有3个配置选项
在这里插入图片描述
3个选项分别为:

  • 软件包自动更新功能:在退出menuconfig功能后,会自动使用pkgs --update命令来下载并安装软件包,同时删除旧的软件包。本功能在下载在线软件包时使用。
  • 自动创建MDK/IAR工程功能:当修改menuconfig配置后,必须输入scons --target = xxx来重新生成工程。开启此功能,就会在退出menuconfig时,自动重新生成功能,无需再手动输入Scons命令重新生成工程。

使用Env的要求

menuconfig是RTT 3.0以上版本的特性,目前 RT-Thread 还没有对所有的 BSP 做 menuconfig 的支持,也就是说有些 BSP 暂时还不能使用 menuconfig 来进行配置,但常用的 BSP 都已经支持。

menuconfig中选项的修改方法

如果想在menuconfig的配置项中添加宏定义,则可以修改BSP下的Kconfig文件,修改方法在网络中可以搜索Kconfig语法关键字获得详细的说明文档。

新的项目添加menuconfig功能

这里的新项目指的是,还未生成.config和rtconfig.h的全新开发的项目。因为这两个文件,只有在menuconfig第一次保存时才会创建。
具体流程:

  1. 将已经支持menuconfig功能的BSP里面的kconfig文件拷贝到新的项目根目录中。
  2. 注意修改Kconfig中的RTT_ROOT值为RT-Thread所在目录,否则可能提示找不到RTT_ROOT。
  3. 使用menuconfig命令开始配置即可。

可以使用Env内置命令pkgs --upgrade来更新软件包列表和Env的功能代码,这样可以最大程度避免已经修复的问题。

RT-Thread的menuconfig是一个用于配置RT-Thread内核和组件的工具。通过menuconfig,用户可以方便地选择和配置所需的功能和驱动。menuconfig的配置结果会保存在rtconfig.h文件中,而不是直接修改该文件。这样做的好处是,在重新运行menuconfig时,之前的配置不会被覆盖。rtconfig.h文件中的宏可以作为功能和文件的编译开关,用于控制代码的编译。例如,可以使用config JSFW_USING_HWS_CMD bool "HWS : Enable hws test cmd" default n来定义一个名为JSFW_USING_HWS_CMD的宏,并设置其默认值为n。这样,在编译时可以根据该宏的值来决定是否启用相应的功能。\[1\]\[3\] #### 引用[.reference_title] - *1* *3* [RT-Thread 入门学习笔记 - menuconfig Kconfig的使用](https://blog.csdn.net/tcjy1000/article/details/111567253)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [RT-thread 添加 Env 环境 和添加menuconfig功能,修改文件结构](https://blog.csdn.net/qq50031185/article/details/112310748)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饼干饼干圆又圆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值