RT-Thread Env简称Env,是 RT-Thread 推出的开发辅助工具,针对基于 RT-Thread 操作系统的项目工程,包括配置器和包管理器,用来对内核和组件的功能进行配提供编译构建环境、图形化系统配置及软件包管理功能,使用这款软件用户可以直接通过系统命令进行操作,其内置的 menuconfig 提供了简单易用的配置剪裁工具,可对内核、组件和软件包进行自由裁剪,使系统以搭积木的方式进行构建;RT-Thread Env完全自主开发,启动速度快、效率高,超低消耗,简单易用,是一款非常不错的服务器辅助工具。
软件包自动更新功能
在退出 menuconfig 功能后,会自动使用pkgs --update命令来下载并安装软件包,同时删除旧的软件包。本功能在下载在线软件包时使用。
自动创建 MDK 或 IAR 工程功能
当修改 menuconfig 配置后 ,必须输入 scons --target=xxx 来重新生成工程。开启此功能,就会在退出 menuconfig 时,自动重新生成工程,无需再手动输入 scons 命令来重新生成工程。
使用镜像服务器下载软件包
由于大部分软件包目前均存放在 GitHub 上,所以在国内的特殊环境下,下载体验非常差。开启此功能,可以通过 国内镜像服务器 下载软件包,大幅提高软件包的下载速度和稳定性,减少更新软件包和 submodule 时的等待时间,提升下载体验。
用户软件包管理功能
实际开发项目时,开发者可能想要将已下载的软件包加入 git 管理,或者想自己管理该软件包。不希望 Env 工具再拉取该软件包的最新版本,此时可以使用用户软件包管理功能。
menuconfig 图形化配置界面,交互性好,操作逻辑强;
丰富的文字帮助说明,配置无需查阅文档;
使用灵活,自动处理依赖,功能开关彻底;
自动生成 rtconfig.h,无需手动修改;
使用 scons 工具生成工程,提供编译环境,操作简单;
提供多种软件包,模块化软件包耦合关联少,可维护性好;
软件包可在线下载,软件包持续集成,包可靠性高;
Env 的使用方法
打开 Env 控制台
RT-Thread 软件包环境主要以命令行控制台为主,同时以字符型界面来进行辅助,使得尽量减少修改配置文件的方式即可搭建好 RT-Thread 开发环境的方式。 打开 Env 控制台有两种方式:
方法一:点击 Env 目录下可执行文件
进入 Env 目录,可以运行本目录下的 env.exe,如果打开失败可以尝试使用 env.bat。
方法二:在文件夹中通过右键菜单打开 Env 控制台
Env 目录下有一张 Add_Env_To_Right-click_Menu.png(添加 Env 至右键菜单.png) 的图片,如下:
根据图片上的步骤操作,就可以在任意文件夹下通过右键菜单来启动 Env 控制台。效果如下:
因为需要设置 Env 进程的环境变量,第一次启动可能会出现杀毒软件误报的情况,如果遇到了 杀毒软件误报 ,允许 Env 相关程序运行,然后将相关程序添加至白名单即可。
编译 BSP
scons 是 RT-Thread 使用的编译构建工具,可以使用 scons 相关命令来编译 RT-Thread 。
第一步:切换到 BSP 根目录
打开控制台后,可以在命令行模式下使用 cd 命令切换到你想要配置的 BSP 根目录中。
例如工程目录为: rt-thread\bsp\stm32f429-apollo :
第二步:bsp 的编译
Env 中携带了 Python & scons 环境,只需在 rt-thread\bsp\stm32f429-apollo 目录中运行 scons 命令即可使用默认的 ARM_GCC 工具链编译 bsp。
编译成功:
如果使用 mdk/iar 来进行项目开发,可以直接使用 BSP 中的工程文件或者使用以下命令中的其中一种,重新生成工程,再进行编译下载。
scons --target=iar
scons --target=mdk4
scons --target=mdk5
更多 scons 教程,请参考 《Scons 构建工具》
BSP 配置:menuconfig
menuconfig 是一种图形化配置工具,RT-Thread 使用其对整个系统进行配置、裁剪。
快捷键介绍
进入 BSP 根目录,输入 menuconfig 命令后即可打开其界面。 menuconfig 常用快捷键如图所示:
修改配置
menuconfig 有多种类型的配置项,修改方法也有所不同,常见类型如下:
开/关 型:使用空格键来选中或者关闭
数值、字符串型:按下回车键后会出现对话框,在对话框中对配置项进行修改
保存配置
选择好配置项之后按 ESC 键退出,选择保存修改即可自动生成 rtconfig.h 文件。此时再次使用 scons 命令就会根据新的 rtconfig.h 文件重新编译工程了。
软件包管理:package
RT-Thread 提供一个软件包管理平台,这里存放了官方提供或开发者提供的软件包。该平台为开发者提供了众多可重用软件包的选择,这也是 RT-Thread 生态的重要组成部分。
点击这里 可以查看到 RT-Thread 官方的提供的软件包,绝大多数软件包都有详细的说明文档及使用示例。
提示
截止到 2018-03-13 ,当前软件包数量达到 40+
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 个配置选项
使用 Env 的要求
menuconfig 是 RT-Thread 3.0 以上版本的特性,推荐将 RT-Thread 更新到 3.0 以上版本。
目前 RT-Thread 还没有对所有的 BSP 做 menuconfig 的支持,也就是说有些 BSP 暂时还不能使用 menuconfig 来进行配置,但常用的 BSP 都已经支持。
menuconfig 中选项的修改方法
如果想在 menuconfig 的配置项中添加宏定义,则可以修改 BSP 下的 Kconfig 文件,修改方法可以在网络中搜索Kconfig语法关键字获得详细的说明文档,也可以参考 RT-Thread 中的 Kconfig 文件或者已经支持过 menuconfig 的 BSP 中的 Kconfig 文件。
新的项目添加 menuconfig 功能
这里的新项目指的是,还未生成 .config 和 rtconfig.h 的全新开发的项目。因为这两个文件,只有在 menuconfig 第一次保存时才会创建。具体流程如下:
将已经支持 menuconfig 功能的 BSP 里面的 kconfig 文件拷贝到新的项目根目录中。
注意修改 Kconfig 中的 RTT_ROOT 值为 RT-Thread 所在目录,否则可能提示找不到 RTT_ROOT 。
使用 menuconfig 命令开始配置即可。
旧项目添加 menuconfig 功能
这里的旧项目指的是已经经过一段时间的开发,而且项目中存在已经修改过的 rtconfig.h文件 ,但是没有使用过 menuconfig 来配置的项目。具体流程如下:
首先备份旧项目内的 rtconfig.h 文件。
使用 scons --genconfig 命令根据已有的 rtconfig.h 生成 .config 文件,这里生成的 .config 文件保存了旧项目中 rtconfig.h 文件对项目的配置参数。
如果用户手动将 EasyFlash-v4.1.0 文件夹的后缀,也就是软件包的版本号删除,修改为 EasyFlash,此时再次使用 pkgs --update 命令将不会再拉取 EasyFlash-v4.0.0 软件包。Env 工具此时认为 EasyFlash 软件包由用户管理,此时使用 pkgs --force-update 命令才可以重新拉取附带 version 的新版本软件包。
使用 pip 扩展更多功能
在 Env 环境下暂时不能直接使用 Python 提供的 pip 工具来安装更多模块。如果需要在 Env 环境下使用 pip 功能,可以按照如下方法重新安装 pip 工具:
从地址 https://bootstrap.pypa.io/get-pip.py 下载 get-pip.py 文件,存放在磁盘中。
在 Env 环境下执行 python get-pip.py 命令来重新安装 pip 工具。
pip 工具重新安装成功后,可以使用 pip install module-name 命令来安装所需模块。
Env 工具使用注意事项
第一次使用 Env 推荐去官网下载最新版本的 Env 工具,新版本的 Env 会有更好的兼容性,也支持自动更新的命令。
可以使用 Env 内置命令 pkgs --upgrade 来更新软件包列表和 Env 的功能代码,这样可以最大程度避免遇到已经修复的问题。
Env 所在路径不要有中文或者空格存在。
BSP 工程所在的路径不要有中文或者空格存在。
Q: Env 工具出现乱码怎么办?
A: 首先检查是否有中文路径。 检查 chcp 命令是否加入了系统环境变量,尝试使用 chcp 437 命令将字符格式改为英文。如果提示没有 chcp 命令,则考虑是没有加入到环境变量中。 chcp 命令所在的目录可能在 system32 目录,添加到环境变量即可。 Env 工具乱码问题传送门 。
Q: 提示找不到 git 命令?
'git' is not recognized as an internal or external command, operable program or batch file.
A: 没安装 git,需要安装 git 并加入环境变量。
Q: 提示找不到 CMD 命令?
A: 计算机右键–>> 属性—>> 高级系统设置—->> 环境变量,C:\Windows\System32; 加入系统环境变量即可
Q: 运行 python 的时候提示 no module named site 怎么办?
A: 计算机右键–>> 属性—>> 高级系统设置—->> 环境变量,在管理员的用户变量中,新建变量名为 PYTHONHOME,变量值为:F:\git_repositories\env\tools\Python27 (是 Env 里面 Python 的安装路径),注意后面不要加 “;”,否则会无效。 如果添加 PYTHONHOME 没好,再用同样的方法添加 PYTHONPATH。就可以解决这个问题了。
有一篇博文详细的描述了这个问题:传送门在这里,如果想了解原理可以看一看。
Q: 在 Env 下能生成哪些类型的工程?
A:目前在 Env 下可以使用 scons 工具生成 mdk/iar 的工程,还没有支持 eclipse 工程的自动生成。
一般在使用 Env 的开发,使用 gcc 的工具链,那么只需要一个 source insight 或者 vs code 之类的编辑器来看代码,使用 scons 编译即可。
Q: 自己制作的 BSP 如何能支持 menuconfig?
A: 可以查阅本章 在项目中使用 Env 章节。
Q: pkgs --upgrade 命令和 pkgs --update 命令有什么区别?
A:pkgs --upgrade 命令是用来升级 Env 功能脚本本身和软件包列表的。没有最新的包列表就不能选择最近更新的软件包。
pkgs --update 命令是用来更新软件包本身的,比如说你在 menuconfig 中选中了 json 和 mqtt 的软件包,但是退出 menuconfig 时并没有下载这些软件包。你需要使用 pkgs --update 命令,这时候 Env 就会下载你选中的软件包并且加入到你的工程中去。
新版本的 Env 支持 menuconfig -s/--setting 命令,如果你不想每次更换软件包后使用 pkgs --update 命令,在使用 menuconfig -s/--setting 命令后配置 Env 选择每次使用 menuconfig 后自动更新软件包即可。
Q: VC98 文件夹问题
详细描述:出现错误 MissingConfiguration: registry dir D:\Program Files (x86)\Microsoft Visual Studio\VC98 not found on the filesystem
A: 在划线的目录新建一个 VC98 的空文件夹,就可以使用 scons 了。
Q: 使用 menuconfig 命令提示“can't find file Kconfig”。
A: 当前工作的 BSP 目录下缺少 Kconfig 文件,参考本文《新的项目添加 menuconfig 功能》 和 《旧项目添加 menuconfig 功能》。
Q: IOError: [Errno 2] No such file or directory: 'nul'
A: 这是由于 windows 系统没有开启 Null Service 服务的缘故,常见于在 win10 的早期版本中(如版本号 1703),该问题有两种解决方法,第一种是开启 windows 更新将 windows 更新到最新版本,因为在后续的补丁中 windows 默认开启了该服务,第二种是参考该 link 手动开启 Null Service 服务。
云锁
28.35 MB/2020-08-17云锁是一款服务器远程管理工具,云锁凝结操作系统内核加固领域数十年的经验积累,集合服务器安全,网站安全管理为一体,以操作系统内核加固技术为基础,同时开放网站安全防护,登录防护,流量防
PHPnow Lite
14.07 MB/2020-08-17PHPnow-Lite是PHPnow.org制作发布的最小PHP+MySQL运行环境.已经包含了MySQL,GD2,mcrypt,ZendOptimizer;非常适合用于产品打包!nircmd.exe作为后台运行进程和关闭进程用
Home Web Server
1.1 MB/2020-08-17HomeWebServer是一套可在多数的Windows上运作运行的WEBServer软件,你可以利用它在自己的计算机上架设一个网站,并且发布在网络上让所有人观看到你所精心制作的网页。
校园e信客户端
16.07 MB/2020-08-17校园E信客户端是武汉电信针对校园用户推出的定制客户端软件。为使用户享受更好更优质的服务,经过2013年的暑期升级后,可以为校园E信双速用户提供IPv6服务。该软件同时提供IPv4和IPv4&IPv6两种拨号方式,点击软件的“普通E信登录”按钮拨号,与老版本的E信客户端功能完全一致,只能访问IPv4资源;点击软件的“IPv6登录”按钮拨号,则可同时访问IPv4和IPv6资源。两种拨号方式的速率、资费以及套餐提供的服务完全一致。
SQL Server MySQL
6.74 MB/2020-08-17HKROnlineSyncNavigator是一款SQLServer,MySQL数据库同步软件。它为您提供一种简单智能的方式完成复杂的数据库数据同步,分发操作。
Wamp Server
37.91 MB/2020-08-17WampServer是一款功能强大的PHP集成安装环境,WampServer在windows下将Apache+PHP+Mysql集成环境,拥有简单的图形和菜单安装和配置环境。安装WampServer后,在右下角的托盘进行控制。WampServer支持多个语言,
upupw Nginx
35.54 MB/2020-08-17upupwphp环境集成包无需安装,不写入任何注册表信息,下载集成包解压即用。启动UPUPW控制面板后可运行Apache/Nginx、PHP、MySQL等系统服务,适用于购买了Windows平台VPS云主机或服务器的朋友搭建Web服务器部署网站,也适用于本地装有任意Windows系统电脑的朋友调试Discuz/phpwind/dedecms/wordpress等PHP程序。UPUPWPHP环境
Plume HTTP Server
云锁
校园e信客户端
SQL Server MySQL
USBWebserver
Wamp Server
upupw Apache
phpStudy
phpStudy Lite
炸金花下载官方下载
狂暴捕鱼官网有330.3版本
彩虹多多专享版
水果机游戏单机
森林舞会飞禽走兽
心悦吉林麻将完整版
一木棋牌蓝色旧版老版本2017年
狂暴捕鱼官网504.1
彩虹多多彩票正版
您可能感兴趣的专题
男生必备
男生们看过来!
安卓装机必备
女生必备
女生必备app是拥有众多女性用户的手机软件,作为一个女生,生活中像淘宝、京东这类线上购物软件可以说是少不了的,小红书这种穿搭、化妆分享平台也很受欢迎,类似于西柚大姨妈、美柚这种专为女生打造的生理期app更是手机必备,还有大家用的最多拍照美颜app是绝对不能忘记的,除此之外对于一些追星女孩来说,微博也是一个必不可少的软件。超多女生必备软件尽在下载吧!
迅雷看看使用教程
迅雷看看播放器是一款多功能在线高清多媒体视频播放器,支持本地播放与在线视频点播,采用P2P点对点传输技术,可以在线流畅观看高清晰电影。不仅如此,迅雷看看不断完善用户交互和在线产品体验,让您的工作与生活充满乐趣。
驱动精灵
驱动精灵是一款集驱动管理和硬件检测于一体的、专业级的驱动管理和维护工具。驱动精灵为用户提供驱动备份、恢复、安装、删除、在线更新等实用功能,也是大家日常生活中经常用到的实用型软件之一了。
拼音输入法
对于电脑文字输入,拼音输入法是一种非常受欢迎的输入法,搜狗拼音输入法、百度拼音输入法、QQ拼音输入法、谷歌拼音输入法、紫光拼音输入法、智能拼音输入法等,你在用哪款呢?一款好用适合自己的拼音输入法一定对您平时帮助很大!下载吧收集了最热门国人最喜欢用的拼音输入法给大家。
b站哔哩哔哩怎么使用
很多人都喜欢在b站哔哩哔哩上观看视频,不单是因为可以提前看到一些视频资源,B站的一些弹幕、评论的玩法也是被网友们玩坏了!下面下载吧小编带来了b站哔哩哔哩怎么使用的教程合集!希望能帮到你啦!
抖音短视频app
抖音短视频app,这里汇聚全球潮流音乐,搭配舞蹈、表演等内容形式,还有超多原创特效、滤镜、场景切换帮你一秒变大片,为你打造刷爆朋友圈的魔性短视频。脑洞有多大,舞台就有多大!好玩的人都在这儿!