当前位置:网站首页>RT-Thread Env 工具介绍(学习笔记)
RT-Thread Env 工具介绍(学习笔记)
2022-07-01 15:38:00 【小辉_Super】
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 添加到右键菜单中,具体的操作可以参考下图:

使用 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 命令来重新生成工程。
边栏推荐
- [one day learning awk] function and user-defined function
- 【STM32-USB-MSC问题求助】STM32F411CEU6 (WeAct)+w25q64+USB-MSC Flash用SPI2 读出容量只有520KB
- Qt+pcl Chapter 6 point cloud registration ICP Series 5
- MySQL高级篇4
- Implementation of deploying redis sentry in k8s
- ABAP-屏幕切换时,刷新上一个屏幕
- MySQL backup and restore single database and single table
- Basic use process of cmake
- Tableapi & SQL and MySQL insert data of Flink
- "Qt+pcl Chapter 6" point cloud registration ICP Series 6
猜你喜欢

微信小程序02-轮播图实现与图片点击跳转
![[target tracking] | template update time context information (updatenet)](/img/53/0a8b2135fa4903f30e4573256c393a.png)
[target tracking] | template update time context information (updatenet) "learning the model update for Siamese trackers"

JS中箭头函数和普通函数的区别

张驰咨询:家电企业用六西格玛项目减少客户非合理退货案例

Stm32f4-tft-spi timing logic analyzer commissioning record

Survey of intrusion detection systems:techniques, datasets and challenges
Don't ask me again why MySQL hasn't left the index? For these reasons, I'll tell you all
![[300 + selected interview questions from big companies continued to share] big data operation and maintenance sharp knife interview question column (III)](/img/cf/44b3983dd5d5f7b92d90d918215908.png)
[300 + selected interview questions from big companies continued to share] big data operation and maintenance sharp knife interview question column (III)

The solution to turn the newly created XML file into a common file in idea

STM32F4-TFT-SPI时序逻辑分析仪调试记录
随机推荐
她就是那个「别人家的HR」|ONES 人物
"Qt+pcl Chapter 6" point cloud registration ICP Series 6
ThinkPHP进阶
Pico,能否拯救消费级VR?
STM32F411 SPI2输出错误,PB15无脉冲调试记录【最后发现PB15与PB14短路】
华为发布HCSP-Solution-5G Security人才认证,助力5G安全人才生态建设
将ABAP On-Premises系统连接到中央检查系统以进行自定义代码迁移
《QT+PCL第六章》点云配准icp系列3
七夕表白攻略:教你用自己的专业说情话,成功率100%,我只能帮你们到这里了啊~(程序员系列)
雷神科技冲刺北交所,拟募集资金5.4亿元
Flink 系例 之 TableAPI & SQL 与 MYSQL 插入数据
【显存优化】深度学习显存优化方法
Deep operator overloading (2)
Fix the failure of idea global search shortcut (ctrl+shift+f)
JS中箭头函数和普通函数的区别
《QT+PCL第六章》点云配准icp系列4
【一天学awk】函数与自定义函数
[STM32 learning] w25qxx automatic judgment capacity detection based on STM32 USB storage device
Redis high availability principle
微信小程序01-底部导航栏设置