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 ulog 日志组件

    ulog 简介 日志的定义 xff1a 日志是将软件运行的状态 过程等信息 xff0c 输出到不同的介质中 xff08 例如 xff1a 文件 控制台 显示屏等 xff09 xff0c 并进行显示和保存 为软件调试 维护过程中的问题追溯 性
  • RT-Thread 访问I/O设备

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

    RTT内核对象 设备 RT Thread有多种内核对象 其中设备device就是其中一种 内核继承关系图如下 设备继承关系图如下 I O 设备模型框架 应用程序通过 I O 设备管理接口获得正确的设备驱动 然后通过这个设备驱动与底层 I O
  • RT-Thread Studio上使用U8G2(NUCLEO-F411RE)

    1 U8G2是嵌入式设备的单色图形库 Arduino和RT Thread都支持 包含大量的图形程序 绘画直线 方框 圆圈 支持多种语言多种字体 涵盖几乎所有流行的控制器 SSD1305 SSD1306 SSD1309 SSD1322 SSD
  • RT-Thread uart2串口dma idle接收不断帧

    硬件STM32F407 IDE使用RT Thread Studio uart2串口使用这两个引脚 功能 IO端口 UART2 TX PA2 UART2 RX PA3 UART2 DMA接收配置 先使能DMA接收 RX缓冲区可以稍微调大些 b
  • RT-Thread记录(十四、I/O 设备模型之ADC设备)

    RT Thread ADC 设备学习使用 目录 前言 一 ADC 采样基础 1 1 ADC 通道 1 2 ADC 分辨率 1 3 ADC 采样计算 二 ADC 设备操作函数 2 1 查找 ADC 设备 2 2 使能 关闭 ADC 通道 2
  • RT-Thread中AT组件连接ESP8266 模块

    应用 AT 组件连接 ESP8266 模块 本文介绍 智龙开发板 应用AT组件 连接 esp8266 模块 从而连接无线网络 参考官网 应用 AT 组件连接 ESP8266 模块 1 首先去除 lwip 2 连接硬件模块 连接到智龙开发板的
  • RT-Thread分析-日志系统-rt_kprintf分析

    目录 1 前言 2 rt kprintf 3 配置选项 4 console设备 4 1 设备声明 4 2 设备创建 4 3 获取 console device 5 分析rt kprintf 函数 6 rt kprintf重定向 1 前言 内
  • 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 Smart 用户态开发体验

    背景 RT Thread Smart 是基于 RT Thread 操作系统上的混合操作系统 它把应用从内核中独立出来 形成独立的用户态应用程序 并具备独立的地址空间 自 V5 0 0 起 rt smart 分支已合并至 master 分支上
  • 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 的工程目录

    1 前言 RT Thread 基于 Scons 的包管理非常方便让我们使用 RT Thread 进行开发 但在实际工程中将应用代码写到 RT Thread 官方提供的 bsp 目录下面会非常不便于使用 无法使用自己 git 工具进行代码管理
  • RT-Thread记录(五、RT-Thread 临界区保护与FreeRTOS的比较)

    本文聊聊临界区 以及RT Thread对临界区的处理 通过源码分析一下 RT Thread 对临界区保护的实现以及与 FreeRTOS 处理的不同 目录 前言 一 临界区 1 1 什么是临界区 1 2 RTOS中的临界区 二 RT Thre
  • BSP制作

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

    使用static修饰全局变量作用 限制作用域 如果全局变量前面加上 static 关键字 那么该变量的作用域将被限制在声明它的源文件中 即它将成为一个文件作用域的静态变量 其它源文件无法访问这个变量 这对于控制变量的可见性和避免命名冲突是有

随机推荐

  • 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