RT-Thread 学习-Env开发环境搭建(一)

news2024/10/7 16:26:24

 

Env是什么

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

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

主要特性

  • menuconfig 图形化配置界面,交互性好,操作逻辑强;

  • 丰富的文字帮助说明,配置无需查阅文档;

  • 使用灵活,自动处理依赖,功能开关彻底;

  • 自动生成 rtconfig.h,无需手动修改;

  • 使用 scons 工具生成工程,提供编译环境,操作简单;

  • 提供多种软件包,模块化软件包耦合关联少,可维护性好;

  • 软件包可在线下载,软件包持续集成,包可靠性高;

Env 工具包含了 RT-Thread 源代码开发编译环境和软件包管理系统。

安装 Env 工具包

下载 env 工具包

登陆 RT-Thread 网站,下载 Env 工具包。

网址为:https://www.rt-thread.org/page/download.html

也可以通过官网主页面跳转到下载页面

图片

这个页面为 RT-Thread 官方资源下载网址,有 RT-Thread 源代码下载、以及开发工具下载。

找到 “RT-Thread env 工具下载” 选择下载方式,开始下载

图片

安装配置

工具包下载之后,解压,解压后工具包存放的位置不能有中文路径。

图片

目录下有 env 的用户手册,以及 RT-Thread 软件包开发指导。

根据图片 “Add_Env_To_Right-click_Menu.png” 上的指示, 可以将 Env 工具添加到右键菜单。这样,就可以在任意目录下,通过右键菜单来启动 env 控制台。

添加右键菜单成功后,鼠标右击菜单会出现 “ConEmu Here”。

打开后的效果如下图:

图片

获取 RT-Thread 源码

还是在上面提到的官网资源下载页面,可以找到源码下载链接

网址为:下载 - RT-Thread物联网操作系统

资源下载页面有 RT-Thread 版本的介绍说明,可以根据自己的需求,选择合适的 RT-thread 版本进行开发/学习。

图片

RT-Thread 源代码下载有有四种方式(写这篇文章时,第一种已经不能使用),可以根据自身情况选择对应的下载方式。对 git 使用不熟练或者不会使用 git 的学习者,建议使用百度网盘方式下载。

图片

百度网盘里最新的两个源码版本分别是 3.1.3 和 4.0.2。看来要想下载最新的发布版本,得需要上 git 仓库下载了。

RT-Thread 标准版源码目录结构如下图

图片

配置源码目录到系统环境变量

将源码放到某个目录下,注意路径位置不能存在中文。

【本人电脑环境原因,表述有误。此步忽略】然后将源码目录添加到系统环境变量中,否则 Env 工具不能正常编译工程代码。

图片

测试开发环境

进入到源码目录 rt-thread\bsp\qemu-vexpress-a9,鼠标右击打开 env 工具。

输入指令 menuconfig,如果出现配置界面,说明开发环境初步搭建成功

图片

输入 scons 尝试编译工程代码。出现如下界面,说明编译成功。开发环境搭建成功。

图片

编译成功后,输入qemu.bat,运行

图片

至此,env 开发环境搭建完成。

最后

git 安装

在使用 env 进行学习或开发时,如果要用到官方提供的软件包,电脑上还需要安装 git。

在配置界面选中某个软件包时,env 工具会自动从远程仓库拉取到本地,这个过程需要有 git 支持。

git 的下载地址为:https://git-scm.com/downloads

根据向导正确安装 git,并将 git 添加到系统环境变量

QEMU 模拟器

在没有物理开发板的情况下,可以使用 QEMU 虚拟机来模拟开发板。QEMU 是一个支持跨平台虚拟化的虚拟机,它可以虚拟很多开发板。

为了方便大家在没有开发板的情况下体验 RT-Thread,RT-Thread 提供了 QEMU 模拟的 ARM vexpress A9 开发板的板级支持包 (BSP)。

详细介绍请参考官方文档资料(复制链接到浏览器打开):

https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/application-note/setup/qemu/windows/an0006-qemu-windows

Env 工具的使用

可以看一下工具包中的用户手册,了解 Env 的基础内容。

使用 env 创建 RT-Thread 项目工程,可以参考官方在线资料:

https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/application-note/setup/standard-project/an0017-standard-project

SCons

SCons 是一套由 Python 语言编写的开源构建系统,类似于 GNU Make。相关使用介绍,可看官方资料介绍,不做赘述:

https://www.rt-thread.org/document/site/#/development-tools/scons/scons

参考资料,来自于 RT-Thread 官方网站资料文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/772014.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PROFIBUS-DP主站转ETHERNET/IP网关ethernet有哪些协议

远创智控YC-DPM-EIP是自主研发的一款PROFIBUS-DP主站功能的通讯网关。该产品主要功能是将各种PROFIBUS-DP从站接入到ETHERNET/IP网络中。 1, 本网关连接到PROFIBUS总线中作为主站使用,连接到ETHERNET/IP总线中作为从站使用。 1.2 产品特点 ◆ PROFIBUS-DP/V0 协议…

AtcoderABC243场

A - Shampoo A - Shampoo ] 题目大意 高桥家有三个人:高桥、他的父亲和他的母亲。每个人每晚都在浴室洗头发。他们按照顺序使用AA、BB和CC毫升的洗发水。 问,今天早上瓶子里有VV毫升的洗发水。在不重新装满的情况下,谁会第一个用完洗发水洗头…

【Maven四】——maven聚合和继承

系列文章目录 Maven之POM介绍 maven命令上传jar包到nexus 【Maven二】——maven仓库 【Maven三】——maven生命周期和插件 聚合和继承 系列文章目录前言一、什么是maven的聚合和继承&why二、聚合三、继承1.可继承的POM元素2.依赖管理3.插件管理 四、聚合与继承的关系五、约…

java电子病历系统源码

电子病历系统采取结构化与自由式录入的新模式,自由书写,轻松录入。化实现病人医疗记录(包含有首页、病程记录、检查检验结果、医嘱、手术记录、护理记录等等。)的保存、管理、传输和重现,取代手写纸张病历。不仅实现了…

【Docker】Docker安装与操作

docker的安装与命令 一、安装 docker1. 安装依赖包2. 信息查看 二、Docker 镜像操作1. 搜索镜像2. 获取镜像3. 镜像加速下载4. 查看镜像相关信息5. 删除镜像6. 上传镜像7. 存出和载入镜像 三、Docker 容器操作1. 创建容器2. 查看容器3. 启动容器4. 停止容器5. 进入容器6. 容器与…

四、DML-4.小结

一、数据记录操作 1、添加数据 给指定字段添加数据 insert into employee(id, workno, name, gender, age, idcard,entrydate) values (1, 001,Itcast, 男, 18, 123456789012345678, 2023-12-12); INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...); 给全部…

Linux--使用者管理(job control)

Linux–使用者管理(job control) 文章目录 Linux--使用者管理(job control)前言一、任务管理(job control)二、&三、 将目前的任务丢到后台中暂停 -- ctrlz四、jobs -- 查看目前的后台任务状态五、fg -- 将后台任务拿到前台来处理六、bg -- 让任务在后台下的状态变为运行中…

LeetCode 1493. 删掉一个元素以后全为 1 的最长子数组 - 二分 + 滑动窗口

删掉一个元素以后全为 1 的最长子数组 提示 中等 90 相关企业 给你一个二进制数组 nums ,你需要从中删掉一个元素。 请你在删掉元素的结果数组中,返回最长的且只包含 1 的非空子数组的长度。 如果不存在这样的子数组,请返回 0 。 提示 1&a…

2023-07-18力扣今日二题-太难了吧

链接: LCP 75. 传送卷轴 题意: 给一个正方形迷宫,主角是A,每次可以上下左右走一格子,有四种类型的格子:墙、初始位置、魔法水晶、空地 另一个人B,可以传送一次A,只能在空地传送&…

Twisted Circuit

题目描述 输入格式 The input consists of four lines, each line containing a single digit 0 or 1. 输出格式 Output a single digit, 0 or 1. 题意翻译 读入四个整数 00 或者 11,作为如图所示的电路图的输入。请输出按照电路图运算后的结果。 感谢PC_DOS …

算法与数据结构-排序

文章目录 一、如何分析一个排序算法1.1 排序算法的执行效率1.1.1 最好情况、最坏情况、平均情况时间复杂度1.1.1.1 最好、最坏情况分析1.1.1.2 平均情况分析 1.1.2 时间复杂度的系数、常数 、低阶1.1.3 比较次数和交换(或移动)次数 1.2 排序算法的内存消…

第六届字节跳动青训营报录比(宣传大使)

统计 前端基础卷:105 前端基础班:120-22(笔试不过基础班,宣传大使奖励进入)98 前端进阶卷:77 前端进阶班:18-216 后端基础卷:151 后端基础班:220 后端进阶卷:133 后端进…

【论文笔记】KDD2019 | KGAT: Knowledge Graph Attention Network for Recommendation

Abstract 为了更好的推荐,不仅要对user-item交互进行建模,还要将关系信息考虑进来 传统方法因子分解机将每个交互都当作一个独立的实例,但是忽略了item之间的关系(eg:一部电影的导演也是另一部电影的演员&#xff09…

133、仿真-基于51单片机太阳能热水器水温水位智能监控仪报警设计(Proteus仿真+程序+配套资料等)

方案选择 单片机的选择 方案一:STM32系列单片机控制,该型号单片机为LQFP44封装,内部资源足够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ,在存储器的01等等待周期仿真时可达到1.25Mip/MHZ(Dhrystone2.1)。内部128k字节…

【QT】元对象系统学习笔记(二)

QT元对象系统 01、属性系统1.1、 属性基础1.2、 QVariant类1.3、 使用QObject类存取属性值与动态属性1.4、 使用反射机制获取属性信息 02、信号与槽2.1、 信号与槽原理2.2、 创建信号与槽2.3、 信号与槽的连接2.4、 断开信号与槽2.5、 关键字原型 03、对象树与生命期3.1、组合模…

【TiDB理论知识 03】TiKV-持久化与数据读取

目录 一 TiKV架构和作用 二 数据持久化 1 RocksDB:写入 写入过程 第一步 :WAL 写日志 (磁盘日志) 第二步:写MemTable (内存中) 第三步 : 转存为immutable MemTable(内存中) …

JAVA集成国密SM4

JAVA集成国密SM4加解密 一、pom配置二、代码集成2.1、目录结构2.2、源码2.3、测试 三、遇到的坑3.1、秘钥长度3.2、转码问题 四、相关链接 国密算法概述:https://blog.csdn.net/qq_38254635/article/details/131801527 SM4对称算法 SM4 无线局域网标准的分组数据算…

线性表的链式存储结构以及顺序表和链表的比较

2.2线性表的链式存储结构 **链式存储结构:**结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻。 线性表的链式表示又称为非顺序映像或链式映像 这组存储单元既可以是连续的,也可以是不连续的,甚至是零散…

C++基础算法前缀和和差分篇

📟作者主页:慢热的陕西人 🌴专栏链接:C算法 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 主要讲解了前缀和和差分算法 文章目录 Ⅳ. 前缀和 和 差分Ⅵ .Ⅰ前缀和…

AtcoderABC244场

A - Last LetterA - Last Letter 题目大意 给定一个长度为N的字符串S,由小写英文字母组成,打印出S的最后一个字符。 思路分析 题目要求打印出字符串S的最后一个字符,可以直接通过访问S的最后一个元素来获取该字符。可以使用字符串的back()…