env是RT-Thread推出的开发辅助工具,针对基于RT-Thread操作系统的项目
工程,提供编译构建环境、图形化系统配置及软件包管理三大功能。
其内置的menuconfig
提供了简单易用的配置剪裁工具,可对内核、组件和软件
包进行自由裁剪,使系统以搭积木的方式进行构建。
类似linux
的meunuconfig
配置源码方式
ENV工具下载链接:[https://www.rt-thread.org/page/download.html](https://www.rt-thread.org/page/download.html)
源码github地址:https://github.com/RT-Thread/rt-thread
百度云盘下载地址:https://pan.baidu.com/s/1mgIAyWo#list/path=%2F
方法一: 双击env.exe
或env.bat
方法二:在文件夹中通过右键菜单打开env控制台
scons
可以读取配置文件自动生成IAR或MDK工程以及编译工程
步骤:
BSP
目录,选择stm32f429-apollo
演示右键开发env工具,输入命令scons --target=mdk5即可生成mdk5工程
target可以使mdk5
、mdk4
、iar
等。
输入scons
命令就会执行编译,默认用env
工具自带的gcc编译器
编译。
编译完成后就会看到提示生成了可执行文件
类似Linux
的图形化界面配置内核工具。
1、图形化界面
2、丰富的配置菜单
3、自动处理依赖
4、自动生成rtconfig.h
右键打开env
工具,输入命令menuconfig。
操作:
1、空格键使能失能布尔类型的配置选项。
2、上下箭头键控制上下选择选项
3、左右箭头键控制底下Select
、Exit
、help
、Save
等选项,按Enter
确认执行操作。可以按Esc
快捷键退出回到上一级菜单目录。
4、后面有虚线箭头的选项按Enter
进入更深一级的配置选项菜单。
5、对一个选项配置有疑问可以按下shift+?
键查看说明。
1、为开发者提供可重用的软件包
2、开发者也可以提交自己的软件包
3、目前数量40+,各种功能应有尽有
4、官方软件包仓库:https://github.com/RT-Thread-packages
5、支持软件包下载、更新、删除
menuconfig
进入配置界面
RT-Thread online packages
即是软件包管理选项。
提供的软件包的汇总。
操作:
menuconfig–>RT-Thread online packages–>随便选择一个–>确认配置–>
输入命令pkgs --update -->scons --target=mdk5 更新下工程。
操作完打开工程就会发现cjson被添加到工程中。
pkgs --update 使软件包配置生效。
pkgs --upgrade 升级本地软件包命令
在bsp目录
任意一目录打开env
,输入menuconfig -s
Enter
进入子菜单,
Enable第一个的话相当于配置好之后自动执行pkgs --update,这样的话不用每次配置完都要手动执行pkgs --update使软件配置生效。
第二个的作用是配置完之后自动生成MDK或IAR工程。
第三个翻译过来就是下载更新软件包时使用镜像服务器。
1、RT-Thread 3.0+版本,若版本低,要做一些迁移。
2、要有kconfig配置文件
1、拷贝Kconfig文件
将Kconfig拷贝到bsp的某个移植好的工程中。
2、修改Kconfig
主要查看RT_ROOT是否正确。…/…表示的上一级目录的上一级目录,即源码根目录rt-thread目录
1.备份rtconfig.h
2.scons–genconfig 生成.config
这个命令的功能是利用rtconfig.h逆向生成menuconfig需要的 .config 文件
3.拷贝Kconfig示例
同样拷贝env目录下的sample目录中的Kconfig到bsp中的移植工程中。
4.修改Kconfig
同使用3.0+版本的RT-thread一样,查看Kconfig文件的的RT_ROOT是否正确。
5.使用menuconfig 重新生成rtconfig.h
menuconfig打开env,按esc键或menuconfig下方的退出,选择保存退出,即会生成新的rtconfig.h头文件。
6.对比新旧rtconfig.h文件
新生的rtconfig.h头文件是3.0+版本的配置头文件,可以用文本对比工具对比新旧rtconfig.h的区别,避免有所遗漏。
官方提供的env手册地址:https://www.rt-thread.org/document/site/programming-manual/env/env/
来源:RT-thread env视频教程
https://www.rt-thread.org/document/site/tutorial/env-video/