RT-Thread之ENV工具

2023-11-14


ENV工具简介

env是RT-Thread推出的开发辅助工具,针对基于RT-Thread操作系统的项目
工程,提供编译构建环境、图形化系统配置及软件包管理三大功能。

其内置的menuconfig提供了简单易用的配置剪裁工具,可对内核、组件和软件
包进行自由裁剪,使系统以搭积木的方式进行构建。

类似linuxmeunuconfig配置源码方式


准备工作

1、Git:安装并设置环境变量

2、ENV:前往RT-Thread官网下载

 ENV工具下载链接:[https://www.rt-thread.org/page/download.html](https://www.rt-thread.org/page/download.html)

3、RTT源码:GitHub/OSChina/云盘

源码github地址:https://github.com/RT-Thread/rt-thread
百度云盘下载地址:https://pan.baidu.com/s/1mgIAyWo#list/path=%2F


ENV工具打开方式

方法一: 双击env.exeenv.bat
方法二:在文件夹中通过右键菜单打开env控制台
在这里插入图片描述


scons 编译项目

scons 可以读取配置文件自动生成IAR或MDK工程以及编译工程
步骤:

1.进入BSP目录,选择stm32f429-apollo演示

在这里插入图片描述

2.scons生成IAR/MDK工程

右键开发env工具,输入命令scons --target=mdk5即可生成mdk5工程
target可以使mdk5mdk4iar等。
在这里插入图片描述

3.scons编译

输入scons命令就会执行编译,默认用env工具自带的gcc编译器编译。
在这里插入图片描述
编译完成后就会看到提示生成了可执行文件
在这里插入图片描述


menuconfig 配置项目

类似Linux的图形化界面配置内核工具。

1、图形化界面

2、丰富的配置菜单

3、自动处理依赖

4、自动生成rtconfig.h

右键打开env工具,输入命令menuconfig
在这里插入图片描述
操作:
1、空格键使能失能布尔类型的配置选项。
2、上下箭头键控制上下选择选项
3、左右箭头键控制底下SelectExithelpSave等选项,按Enter确认执行操作。可以按Esc快捷键退出回到上一级菜单目录。
4、后面有虚线箭头的选项按Enter进入更深一级的配置选项菜单。
在这里插入图片描述
5、对一个选项配置有疑问可以按下shift+?键查看说明。
在这里插入图片描述


软件包管理pkgs

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 升级本地软件包命令


在项目中使用env

配置env

bsp目录任意一目录打开env,输入menuconfig -s
在这里插入图片描述
Enter进入子菜单,
在这里插入图片描述
Enable第一个的话相当于配置好之后自动执行pkgs --update,这样的话不用每次配置完都要手动执行pkgs --update使软件配置生效。
第二个的作用是配置完之后自动生成MDK或IAR工程。
第三个翻译过来就是下载更新软件包时使用镜像服务器。

使用menuconfig的要求

1、RT-Thread 3.0+版本,若版本低,要做一些迁移。
2、要有kconfig配置文件

在3.0项目中使用env

1、拷贝Kconfig文件
在这里插入图片描述
将Kconfig拷贝到bsp的某个移植好的工程中。
在这里插入图片描述
2、修改Kconfig

在这里插入图片描述
主要查看RT_ROOT是否正确。…/…表示的上一级目录的上一级目录,即源码根目录rt-thread目录
在这里插入图片描述

从旧版本迁移到3.0

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/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RT-Thread之ENV工具 的相关文章

  • rtthread中使用sqlite

    一 简介 SQLite是一款嵌入式 轻量级的关系型数据库系统 xff0c 它的设计目标是嵌入式的 xff0c 而且目前已经在很多嵌入式产品中使用了它 它占用资源非常的低 xff0c 在嵌入式设备中 xff0c 可能只需要几百K的内存就够了
  • RT-Thread 访问I/O设备

    访问I O设备 应用程序通过I O设备管理接口来访问硬件设备 当设备驱动实现后 应用程序就可以访问该硬件 查找设备 应用程序根据设备名称获取设备句柄 进而操作设备 获得设备句柄后 应用程序可使用如下函数对设备进行初始化操作 rt err t
  • RT-Thread Studio上使用U8G2(NUCLEO-F411RE)

    1 U8G2是嵌入式设备的单色图形库 Arduino和RT Thread都支持 包含大量的图形程序 绘画直线 方框 圆圈 支持多种语言多种字体 涵盖几乎所有流行的控制器 SSD1305 SSD1306 SSD1309 SSD1322 SSD
  • RT-Thread记录(十三、I/O 设备模型之PIN设备)

    讲完UART设备之后 我们已经熟悉RT Thread I O 设备模型了 回头看看基本的 PIN 设备 目录 前言 一 PIN 设备模型解析 1 1 初识 GPIO 操作函数 1 2 PIN 设备框架 1 3 PIN 设备驱动框架层 实现的
  • ArtPi 认识RTT Studio建立LED工程

    1 认识RTT Studio建立LED工程 软件IDE RT Thread Studio 版本 2 1 1 硬件平台 ART Pi CPU STM32H750XB 开发板基本外设功能实现 串口 uart4 PA0 PI9 Red LED P
  • 【RTT驱动框架分析07】- adc驱动框架分析+adc中断唤醒adc驱动

    ADC adc应用开发 访问 ADC 设备 应用程序通过 RT Thread 提供的 ADC 设备管理接口来访问 ADC 硬件 相关接口如下所示 函数 描述 rt device find 根据 ADC 设备名称查找设备获取设备句柄 rt a
  • RT-Thread记录(八、理解 RT-Thread 内存管理)

    RT Thread内核的我们已经基本都学习过了 除了基本的线程操作和通信 内核部分还有内存管理和中断处理 本文主要就来说说内存管理相关问题 目录 前言 一 为什么要内存管理 二 RT Thread 内存堆管理 2 1 RT Thread 内
  • rtt下的adbd使用

    RTT 下的ADBD使用 1 引言 调试柿饼时 需要文件传输 由于智龙平台的RTT环境下USB还没有调试好 这里就使用ADB进行文件传输 找到了何元杰的帖子 并参考 rdb 建立 RTT与PC 的文件传输通道 2 使用环境 2 1 硬件平台
  • 基于stm32驱动bh1750光照传感器的一种超简单的编程方法

    基于stm32驱动bh2750光照传感器的一种超简单的编程方法 目录 基于stm32驱动bh1750光照传感器的一种超简单的编程方法 前言 一 搭载RT thread需要的环境 二 获取RT thread官方源码 并新建一个工程 三 下载b
  • 【导航】RT-Thread 学习专栏目录 【快速跳转】

    本文是 矜辰所致 的 RT Thread 记录专栏的内容导航 结合自己的学习应用过程的总结记录 有基础理论 有与FreeRTOS的比较 有实际项目 有应用总结 目录 前言 一 环境篇 二 内核篇 三 设备和驱动篇 四 组件软件包篇 五 应用
  • RT-Thread内核启动流程

    一般了解一份代码大多从启动部分开始 同样这里也采用这种方式 先寻找启动的源头 RT Thread 支持多种平台和多种编译器 而 rtthread startup 函数是 RT Thread 规定的统一启动入口 一般执行顺序是 系统先从启动文
  • 野火 RT1052 移植网卡功能(LAN8720A)

    野火 RT1052 移植网卡功能 LAN8720A 开发环境 RT Thread v4 0 2 master SOC i MX RT1050 Board 野火 RT1052 目的 在 RT Thread 系统上进行网络通讯 背景描述 1 首
  • RT-Thread之ENV工具

    快速索引 ENV工具简介 准备工作 1 Git 安装并设置环境变量 2 ENV 前往RT Thread官网下载 3 RTT源码 GitHub OSChina 云盘 ENV工具打开方式 scons 编译项目 1 进入 BSP 目录 选择 st
  • rt-thread中使用WebClient WebNet总结 http学习

    HTTP学习资料 1 需求背景 WebClient主要用来传输文件 WebNet用来支持cgi接口 需要支持get post put delete方式 2 webnet中使用 2 1 webnet存在问题 2 11 rt thread 使用
  • 【RTT驱动框架分析06】-pwn驱动框架分析+pwm驱动实现

    pwm pwm应用程序开发 访问 PWM 设备API 应用程序通过 RT Thread 提供的 PWM 设备管理接口来访问 PWM 设备硬件 相关接口如下所示 函数 描述 rt device find 根据 PWM 设备名称查找设备获取设备
  • RT-Thread记录(七、IPC机制之邮箱、消息队列)

    讲完了线程同步的机制 我们要开始线程通讯的学习 线程通讯中的邮箱消息队列也属于 RT Thread 的IPC机制 目录 前言 一 邮箱 1 1 邮箱控制块 1 2 邮箱操作 1 2 1 创建和删除 1 2 2 初始化和脱离 1 2 3 发送
  • rt-thread studio中新建5.0不能用

    文章目录 一 版本对比 二 文件和文件夹打斜杠 在使用RT Thread studio创建新工程5 0版本的时候 结果发现新建完成之后程序不能正常运行 但是创建4 10版本的时候却能运行 那肯定是新版本出现了BUG 一 版本对比 首先对比了
  • BSP制作

    STM32系列驱动介绍 在RT Thread实时操作系统中 各种各样的设备驱动是通过一套I O设备管理框架来实现的 设备管理框架给上层应用提供了一套标准的设备操作API 开发者通过调用这些标准设备操作API 可以高效地完成和底层硬件外设的交
  • 中断管理学习

    中断管理 什么是中断 简单的解释就是系统正在处理某一个正常事件 忽然被另一个需要马上处理的紧急事件打断 系统转而处理这个紧急事件 待处理完毕 再恢复运行刚才被打断的事件 生活中 我们经常会遇到这样的场景 当你正在专心看书的时候 忽然来了一个
  • RT-Thread 内核基础(六)

    RT Thread内核配置示例 RT Thread的一个重要特性是高度可裁剪性 支持对内核进行精细调整 对组件进行灵活拆卸 配置主要是通过修改工程目录下的rtconfig h文件来进行 用户可以通过打开 关闭该文件中的宏定义来对代码进行条件

随机推荐

  • Nginx官方文档(三十四)【ngx_http_ssl_module】

    ngx http ssi module 示例配置 指令 ssl ssl buffer size ssl certificate ssl certificate key ssl ciphers ssl client certificate s
  • 电脑报错vcomp100.dll丢失怎样修复?这三个方法可以解决

    vcomp100 dll是微软Visual C 2005 Redistributable Package的一部分 它包含了运行某些程序所需的C 运行时库 当电脑中的vcomp100 dll文件丢失或损坏时 可能会导致一些程序无法正常运行 甚
  • [springboot 项目启动类Application.java运行没有任何反应]

    1 问题 最近从网上找了一个springboot项目学习 发现项目启动类无法运行 运行没有任何反应 maven依赖检查没有任何问题 2 解决方案 Files Setting Plugins Groovy勾选 再次运行 成功 3
  • Python: 装饰器和语法糖

    一 Python 装饰器 Python 装饰器本身就是一个函数 它的作用是装饰一个其他的函数 但是不改变原有的程序功能 还要增添新的功能 调用函数时的接口没有变化 比如 装修一个房子 如果不隔音 我在墙上加一层隔音板 却不能把墙拆了 换成隔
  • C# 关于浏览器——WebBrowser篇

    最近要写一个浏览器包裹一个网站 试了各种浏览器插件 记录一下 第一个就是微软的WebBrowser 这个很容易 直接拖过来 然后写一下注册表调用IE11的内核显示 这个代码是抄的
  • python金融数据分析马伟明_Python金融数据分析

    前言 第1章Python在金融中的应用 1 1Python适合我吗 1 1 1免费 开源 1 1 2高级 强大 灵活的编程语言 1 1 3丰富的标准库 1 2面向对象编程与函数式编程 1 2 1面向对象式方法 1 2 2函数式方法 1 2
  • docker day04

    Dockerfile FORM 1 指定基础镜像 可以起别名 也可以指定多个FROM指令 用于多阶段构建 2 加载触发器 加载ONBUILD指令 3 不指定基础镜像 声明当前镜像不依赖任何镜像 官方保留字 scratch RUN 1 在容器
  • 循序渐进,学会用pyecharts绘制瀑布图

    循序渐进 学会用pyecharts绘制瀑布图 瀑布图简介 瀑布图 Waterfall Plot 是由麦肯锡顾问公司所独创的图表类型 因为形似瀑布流水而称之为瀑布图 瀑布图采用绝对值与相对值结合的方式 适用于表达多个特定数值之间的数量变化关系
  • 串口调试助手与CH340驱动分享

    串口调试助手与CH340驱动分享 分享以下资源给大家 包括CH340与CH341驱动 野火以及正点原子的串口调试助手 网盘链接 链接 https pan baidu com s 1cARKBdzJhDcrQrBSfs2Nlw 提取码 fxv
  • python: PyCharm 2023.1打包项目成执行程序

    IDE 最底部 pyinstaller i heart ico D main py 生成成功
  • d指针在Qt上的应用及实现

    Qt为了使其动态库最大程度上实现二进制兼容 引入了d指针的概念 那么为什么d指针能实现二进制兼容呢 为了回答这个问题 首先弄清楚什么是二进制兼容 所谓二进制兼容动态库 指的是一个在老版本库下运行的程序 在不经过编译的情况下 仍然能够在新的版
  • Unity TimeLine循环播放某个时间段

    1 设置Playable Director的Update Method为GameTime模式 2 API using UnityEngine Playables 我们需要用到PlayableDirector的time属性 3 设置开始和结束
  • USB CDC 4G Module 调试问题总结

    USB CDC 4G Module ESP32S2 自定义开发板 SIM7600C1 其他按照github USB CDC 4G Module 使用说明 确保硬件正确SIM卡正常 编译注意做好在4 4版本下 配置过程注意运营商APN 编译没
  • python的编译器与解释器

    作者介绍 作者 小刘在C站 每天分享课堂笔记 一起努力 共赴美好人生 夕阳下 是最美的绽放 目录 一 为什么会有编译器和解释器 二 编译器和解释器的区别 三 python解释器种类 四 python的运行机制 一 为什么会有编译器和解释器
  • Java集合——Set详解

    前几天简单介绍了一下单列集合中的List 今天就给大家讲一下它的同胞兄弟Set的简介与使用情况 Set存取无序 元素唯一 代码演示 public static void demo1 HashSet
  • 各种排序算法详解集合(时间复杂度、空间复杂度、稳定性分析)

    动图来源 https blog csdn net weixin 41190227 article details 86600821 目录 一 冒泡排序 二 选择排序 三 插入排序 四 希尔排序 五 归并排序 六 快速排序 七 堆排序 八 计
  • Supermarket 【POJ - 1456】【并查集+哈希表思想+贪心】

    题目链接 原来 并查集还有这样的作用 题记 我想用个哈希表的思维来解这道题 但是 显然O N 2 的哈希表去查询并插入显然是不行的 那么既然挂在图论专题 我就得用相应的方式解答咯 要是不挂在图论专题 我可能会自闭了 我们对于每个物品按照价值
  • vue3实现前端导出Excel

    1 安装依赖 npm install xlsx 2 使用
  • 操作系统:进程调度模拟,C语言实现

    作业要求 题目要求 模拟实现进程调度的经典算法 包括FCFS SJF SPF HRRN和RR 时间片大小分别为1和4 输出调度过程 并计算不同调度算法的周转时间 平均周转时间 带权周转时间 平均带权周转时间 等待时间 平均等待时间等信息 实
  • RT-Thread之ENV工具

    快速索引 ENV工具简介 准备工作 1 Git 安装并设置环境变量 2 ENV 前往RT Thread官网下载 3 RTT源码 GitHub OSChina 云盘 ENV工具打开方式 scons 编译项目 1 进入 BSP 目录 选择 st