当前位置:网站首页>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 命令来重新生成工程。
边栏推荐
- A unifying review of deep and shallow anomaly detection
- Pnas: brain and behavior changes of social anxiety patients with empathic embarrassment
- Gaussdb (for MySQL):partial result cache, which accelerates the operator by caching intermediate results
- 张驰咨询:家电企业用六西格玛项目减少客户非合理退货案例
- MySQL审计插件介绍
- k8s部署redis哨兵的实现
- 微服务追踪SQL(支持Isto管控下的gorm查询追踪)
- HR面试:最常见的面试问题和技巧性答复
- 【目标跟踪】|STARK
- 微信小程序03-文字一左一右显示,行内块元素居中
猜你喜欢

采集数据工具推荐,以及采集数据列表详细图解流程
![Stm32f411 SPI2 output error, pb15 has no pulse debugging record [finally, pb15 and pb14 were found to be short circuited]](/img/ea/8c9f716717bc08f2e563c577738ec8.png)
Stm32f411 SPI2 output error, pb15 has no pulse debugging record [finally, pb15 and pb14 were found to be short circuited]

【一天学awk】函数与自定义函数

Junda technology - wechat cloud monitoring scheme for multiple precision air conditioners

phpcms后台上传图片按钮无法点击
![[one day learning awk] conditions and cycles](/img/e6/c96a4fd6ced9b492e70a06004f5159.png)
[one day learning awk] conditions and cycles

MySQL backup and restore single database and single table

Deep operator overloading (2)

有些能力,是工作中学不来的,看看这篇超过90%同行
![[one day learning awk] function and user-defined function](/img/e1/a378211ef05fcc4d469363f3e509a7.png)
[one day learning awk] function and user-defined function
随机推荐
TS reports an error don't use 'object' as a type The `object` type is currently hard to use
Research on manually triggering automatic decision of SAP CRM organization model with ABAP code
[Cloudera][ImpalaJDBCDriver](500164)Error initialized or created transport for authentication
Skywalking 6.4 distributed link tracking usage notes
你TM到底几点下班?!!!
Deep operator overloading (2)
Qt+pcl Chapter 9 point cloud reconstruction Series 2
Junda technology - wechat cloud monitoring scheme for multiple precision air conditioners
【云动向】6月上云新风向!云商店热榜揭晓
[stm32-usb-msc problem help] stm32f411ceu6 (Weact) +w25q64+usb-msc flash uses SPI2 to read out only 520kb
Description | Huawei cloud store "commodity recommendation list"
硬件开发笔记(九): 硬件开发基本流程,制作一个USB转RS232的模块(八):创建asm1117-3.3V封装库并关联原理图元器件
Logical analysis of automatic decision of SAP CRM organization model
Redis seckill demo
How to realize clock signal frequency division?
Pnas: brain and behavior changes of social anxiety patients with empathic embarrassment
Zhang Chi Consulting: household appliance enterprises use Six Sigma projects to reduce customers' unreasonable return cases
张驰咨询:家电企业用六西格玛项目减少客户非合理退货案例
微信小程序02-轮播图实现与图片点击跳转
Sort out the four commonly used sorting functions in SQL