软件介绍
RT-ThreadEnv简称Env,是RT-Thread推出的开发辅助工具,针对基于RT-Thread操作系统的项目工程,包括配置器和包管理器,用来对内核和组件的功能进行配提供编译构建环境、图形化系统配置及软件包管理功能,使用这款软件用户可以直接通过系统命令进行操作,其内置的menuconfig提供了简单易用的配置剪裁工具,可对内核、组件和软件包进行自由裁剪,使系统以搭积木的方式进行构建;RT-ThreadEnv完全自主开发,启动速度快、效率高,超低消耗,简单易用,是一款非常不错的服务器辅助工具。
软件功能
软件包自动更新功能
在退出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.pypackage[-h][--update][--list][--wizard][--upgrade]
[--printenv]
optionalarguments:
-h,--helpshowthishelpmessageandexit
--updateupdatepackages,installorremovethepackagesasyousetin
menuconfig
--listlisttargetpackages
--wizardcreateapackagewithwizard
--upgradeupdatelocalpackageslistfromgitrepo
--printenvprintenvironmentalvariablestocheck
下载、更新、删除软件包
在下载、更新软件包前,需要先在menuconfig中开启你想要操作的软件包
这些软件包位于RT-Threadonlinepackages菜单下,进入该菜单后,则可以看如下软件包分类:
找到你需要的软件包然后选中开启,保存并退出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-Thread3.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环境下执行pythonget-pip.py命令来重新安装pip工具。
pip工具重新安装成功后,可以使用pipinstallmodule-name命令来安装所需模块。
Env工具使用注意事项
注意事项
第一次使用Env推荐去官网下载最新版本的Env工具,新版本的Env会有更好的兼容性,也支持自动更新的命令。
可以使用Env内置命令pkgs--upgrade来更新软件包列表和Env的功能代码,这样可以最大程度避免遇到已经修复的问题。
Env所在路径不要有中文或者空格存在。
BSP工程所在的路径不要有中文或者空格存在。
常见问题
Q:Env工具出现乱码怎么办?
A:首先检查是否有中文路径。检查chcp命令是否加入了系统环境变量,尝试使用chcp437命令将字符格式改为英文。如果提示没有chcp命令,则考虑是没有加入到环境变量中。chcp命令所在的目录可能在system32目录,添加到环境变量即可。Env工具乱码问题传送门。
Q:提示找不到git命令?
'git'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.
A:没安装git,需要安装git并加入环境变量。
Q:提示找不到CMD命令?
A:计算机右键–属性—高级系统设置—-环境变量,C:\Windows\System32;加入系统环境变量即可
Q:运行python的时候提示nomodulenamedsite怎么办?
A:计算机右键–属性—高级系统设置—-环境变量,在管理员的用户变量中,新建变量名为PYTHONHOME,变量值为:F:\git_repositories\env\tools\Python27(是Env里面Python的安装路径),注意后面不要加“;”,否则会无效。如果添加PYTHONHOME没好,再用同样的方法添加PYTHONPATH。就可以解决这个问题了。
有一篇博文详细的描述了这个问题:传送门在这里,如果想了解原理可以看一看。
Q:在Env下能生成哪些类型的工程?
A:目前在Env下可以使用scons工具生成mdk/iar的工程,还没有支持eclipse工程的自动生成。
一般在使用Env的开发,使用gcc的工具链,那么只需要一个sourceinsight或者vscode之类的编辑器来看代码,使用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:registrydirD:\ProgramFiles(x86)\MicrosoftVisualStudio\VC98notfoundonthefilesystem
A:在划线的目录新建一个VC98的空文件夹,就可以使用scons了。
Q:使用menuconfig命令提示“can'tfindfileKconfig”。
A:当前工作的BSP目录下缺少Kconfig文件,参考本文《新的项目添加menuconfig功能》和《旧项目添加menuconfig功能》。
Q:IOError:[Errno2]Nosuchfileordirectory:'nul'
A:这是由于windows系统没有开启NullService服务的缘故,常见于在win10的早期版本中(如版本号1703),该问题有两种解决方法,第一种是开启windows更新将windows更新到最新版本,因为在后续的补丁中windows默认开启了该服务,第二种是参考该link手动开启NullService服务。
Tags:RT-Thread Env工具下载,服务器辅助工具,服务器类
小编点评:软件介绍现今大家的电脑内存普遍都上了2.
下载小编点评:软件介绍IE浏览器重装与卸载工具是.
下载小编点评:三国神威魔将官方版是一款以三国为背景的策略类.
下载小编点评:临界存在少女内测版是一款二次元风的角色扮演.
下载小编点评:杰西的故事游戏手机版为大家带来多样.
下载小编点评:你的冒险游戏是一款超级好玩的冒险闯.
下载小编点评:人群阶梯游戏是一款以橡皮人为主题的.
下载小编点评:rebuild3中文最新版是一款主.
下载小编点评:我的猫在在哪里手机版是一款益智休闲游戏.
下载小编点评:重入地牢最新版是一款重入地牢中文版.
下载小编点评:画条线手机版是一款有趣的手指绘画闯关.
下载小编点评:陀螺大作战最新版是一款好玩的类似贪吃蛇风格.
下载小编点评:加菲猫总动员修改版是一款卡通风格的.
下载钓鱼模拟器3d破解版下载-钓鱼模拟器3d汉化破解版下载v1.0.31 安卓版
我是大法师官方版下载-我是大法师游戏下载v1.1.2 安卓版
香肠人跑酷最新版下载-香肠人跑酷游戏下载v1.1.1 安卓最新版
大众战争游戏下载-大众战争最新版下载v1.0.6 安卓版
狼人杀内鬼版游戏下载-狼人杀内鬼版官方版下载v1.0 安卓版
不休历险记游戏下载-不休历险记手游下载v1.0.10 安卓版
帝国2帝国传承游戏-帝国2帝国传承手游(暂未上线)v1.4.0 安卓版
粉刷匠大作战taptap游戏下载-粉刷匠大作战taptap版下载v1.3.3 安卓版
滚动的砖块手机版下载-滚动的砖块游戏下载v1.0.15 安卓版
咒缚破解版下载-咒缚汉化破解版下载v1.1.0 安卓版-咒缚汉化付费破解版
兰斯洛特传说游戏下载-兰斯洛特传说手机版下载v1.0.3 官方安卓版
黑骑士物语游戏下载-黑骑士物语经典版下载v1.6.4 安卓版
书呆子对对碰游戏下载-书呆子对对碰手机版下载v1.0 安卓版