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

 

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.mzph.cn/news/5163.shtml

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

相关文章

idea新建xml模板设置,例如:mybatis-config

在idea怎么新建mapper.xml文件&#xff0c;具体操作步骤和结果如下&#xff0c;其他文件也是可以自定义模板的流程和步骤一致&#xff01; 效果如下&#xff1a; 步骤如图&#xff1a; step1&#xff1a; step2&#xff1a; 文件内容&#xff1a; <?xml version"…

udp传输大数据的原理和相关问题注意事项

UDP协议本身不提供大数据传输的分片、重组、丢包重传等功能&#xff0c;因此需要对大数据传输进行特殊处理。以下是UDP传输大数据一些常见的处理方法。 &#xff08;1&#xff09;对大文件进行分块&#xff1a;将大文件划分为多个小块进行传输&#xff0c;每个小块都可以使用UD…

IntelliJ IDEA 2023.2 新版本即将发布,拥抱 AI

IntelliJ IDEA 近期连续发布多个EAP版本&#xff0c;官方在对用户体验不断优化的同时&#xff0c;也新增了一些不错的功能&#xff0c;尤其是人工智能助手补充&#xff0c;AI Assistant&#xff0c;相信在后续IDEA使用中&#xff0c;会对开发者工作效率带来不错的提升。 以下是…

安卓:Fragment

目录 一、Fragment介绍 二、Fragment的使用方式 &#xff08;一&#xff09;、Fragment静态添加&#xff1a; 静态添加例子&#xff1a; FirstFragment &#xff1a; MainActivity: main_activity: fragment_first: 静态添加的总结&#xff1a; &#xff08;二&…

Java-通过IP获取真实地址

文章目录 前言功能实现测试 前言 最近写了一个日志系统&#xff0c;需要通过访问的 IP 地址来获取真实的地址&#xff0c;并且存到数据库中&#xff0c;我也是在网上看了一些文章&#xff0c;遂即整理了一下供大家参考。 功能实现 这个是获取正确 IP 地址的方法&#xff0c;可…

域内信息收集

将网络中多台计算机逻辑上组织到一起进行集中管理&#xff0c;这种区别于工作组的逻辑环境叫 做域。域是由域控制器(Domain Controller)和成员计算机组成&#xff0c;域控制器就是安装了活动 目录(Active Directory)的计算机。活动目录提供了存储网络上对象信息并使用网络使用该…

uniapp H5预览PDF文件

1&#xff0c;下载资源后hybrid文件存放在static静态文件里 (点击这里去下载文件) 2&#xff0c;pdf预览页面配置 <template><view style"width: 100vh;"><web-view :src"pdfUrl"></web-view></view> </template><…

全面深入理解MySQL自增锁

&#x1f497;推荐阅读文章&#x1f497; &#x1f338;JavaSE系列&#x1f338;&#x1f449;1️⃣《JavaSE系列教程》&#x1f33a;MySQL系列&#x1f33a;&#x1f449;2️⃣《MySQL系列教程》&#x1f340;JavaWeb系列&#x1f340;&#x1f449;3️⃣《JavaWeb系列教程》…

【HarmonyOS】元服务隐私协议开发指导样例

【关键字】 隐私、弹窗、元服务、协议 【介绍】 每个元服务必须提供隐私声明&#xff0c;否则将导致提交元服务发布上架时&#xff0c;审核无法通过。隐私声明的具体要求请参见隐私声明规范。用户使用元服务前&#xff0c;必须引导其了解隐私声明信息&#xff0c;获取用户授权…

C#被指定窗体的MdiParent的窗体不是MdiContainer

工作的时候遇到一个问题&#xff1a; 被指定窗体的MdiParent的窗体不是MdiContainer 这个问题的原因是父窗体的IsMdiContainer 属性设置为false导致的。将此属性设置为true&#xff0c;即可解决此问题。有两种方式设置窗体的IsMdiContainer 属性。 第一种&#xff0c;在父窗口…

python实现拼多多商品详情接口API

最近工作需要用到拼多多的一些接口&#xff0c;官方竟然没有提供&#xff0c;python的sdk&#xff0c;于是就自己简单的写了一个商品SKU接口的api。 1、代码 #!/usr/bin/python3# -*- coding: utf-8 -*-# Time : 2020/3/29 0021 下午 19:40# Author : xiaozhi&#xff01;…

「深度学习之优化算法」(十六)万有引力算法

1. 万有引力算法简介 (以下描述,均不是学术用语,仅供大家快乐的阅读) 万有引力算法(Gravitational Search Algorithm)是受物体之间的万有引力启发而提出的算法。算法提出于2008(2009)年,时间不长,不过相关的文章和应用已经相对较多,也有不少的优化改进方案。   万…

apple pencil二代平替笔哪个好用?苹果平板平替笔排行

光是一款Apple Pencil&#xff0c;就卖到了接近一千多块&#xff0c;信息对于很多人来说都觉得太贵了。事实上&#xff0c;由于平替电容笔的性价比也非常高&#xff0c;因此它还是值得一试的。不管是学习&#xff0c;写作&#xff0c;还是绘画&#xff0c;这支平替电容笔&#…

自洽性改善语言模型中的思维链推理7.13、7.14

自洽性改善语言模型中的思维链推理 摘要介绍对多样化路径的自洽实验实验设置主要结果当CoT影响效率时候&#xff0c;SC会有所帮助与现有方法进行比较附加研究 相关工作总结 原文&#xff1a; 摘要 本篇论文提出了一种新的编码策略——自洽性&#xff0c;来替换思维链中使用的…

AI绘画 | 迷人武士美少女战士作品集

今天用Midjourney生成了质量极高的美少女武士后续会作为固定栏目来分享美图接下来请欣赏作品 提示词分享&#xff1a;1.an asian girl dressed in samurai style, in the style of anime aesthetic, trick of the eye paintings, dollcore, light red and black, resin, 8k, ex…

数据结构--图的基本操作

数据结构–图的基本操作 使用的存储模式&#xff1a; 图的基本操作&#xff1a; • Adjacent(G,x,y)&#xff1a;判断图G是否存在边<x, y>或(x, y)。 • Neighbors(G,x)&#xff1a;列出图G中与结点x邻接的边。 • InsertVertex(G,x)&#xff1a;在图G中插入顶点x。 • …

Apache HTTPD 多后缀解析漏洞

Apache HTTPD 多后缀解析漏洞 一、环境搭建二、漏洞原理三、漏洞复现 一、环境搭建 如下介绍kali搭建的教程 cd ~/vulhub/httpd/apache_parsing_vulnerability // 进入指定环境 docker-compose up -d // 启动环境docker-compose ps使用这条命令查看当前正在运行的环境 打开…

Java入门

目录 一、程序 什么是程序 二、计算机编程语言 1.计算机语言是什么 Java历史 特点 执行机制 计算机执行机制 Java的执行机制 三、JDK安装 名词解释 安装与校验 配置环境变量 四、第一个Java程序 编写代码 编译运行 规范 六、Java核心机制&#xff1a;JVM 1.…

【C语言】memcpy,memmove,memcmp,memset函数详解

memcpy,memmove,memcmp,memset函数详解 memcpy函数一、 memcpy函数的定义&#xff1a;二、memcpy函数的功能&#xff1a;三、memcpy函数模拟memcpy注意事项 memmove函数一、memmove函数简介二、memmove函数的模拟1.两种情况2模拟实现 memcmp函数memecmp函数介绍 memset函数mems…

数据结构(王道)——线性表的存储结构之双链表

双链表和单链表的对比 一、从无到有创建一个双链表及其基础操作 带头结点 的双链表 初始化 双链表的后插操作&#xff1a; 从后插可以拓展到按位序插入&#xff0c;和前插操作。 因为双链表的特性&#xff0c;如果按位序插入或者前插操作&#xff0c;只需要找到插入的位置的前…