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 官方网站资料文档

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++基础算法离散化及区间合并篇

📟作者主页:慢热的陕西人 🌴专栏链接:C算法 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 主要讲解了双指针,位运算,离散化以及区间合并。…

02 QPushButton的基本使用

Tips: 在使用控件的时候如果没有智能提示,可能是没有包含头文件 在运行时,报【invalid use of xxx】可能是没有包含相关头文件 如果出现中文乱码:设置编译器的编码格式为UTF-8 本节主要包含创建一个按钮控件、显示按钮、设置按钮的父窗口、设…

2023最新ChatGPT商业运营网站源码+支持ChatGPT4.0+新增GPT联网功能+支持ai绘画+实时语音识别输入+用户会员套餐+免费更新版本

2023最新ChatGPT商业运营网站源码支持ChatGPT4.0新增GPT联网功能支持ai绘画实时语音识别输入用户会员套餐免费更新版本 一、AI创作系统二、系统程序下载三、系统介绍四、安装教程五、主要功能展示六、更新日志 一、AI创作系统 提问:程序已经支持GPT3.5、GPT4.0接口…

SpringBoot——自动装配之@Import

文章目录 前言ImportImport 的作用1、Import(MyDemo1.class) 将某个对象加载至bean容器中2、Import一个类 该类实现了ImportSelector, 重写selectImports方法该方法返回了String[]数组的对象,数组里面的类都会注入到spring容器当中3、Import一个类,该类实…

解放研究者:GPT自动化科研

GPT Researcher 是一个自主代理程序,旨在进行多种任务的全面在线研究。 该代理能够生成详细、事实性和公正的研究报告,并提供个性化选项,以便关注相关资源、大纲和教训。受到AutoGPT和最近的Plan-and-Solve论文的启发,GPT Researc…

图像标注是什么?及其类型和应用

什么是图像标注? 图像标注是与您交互的许多人工智能产品的基础,并且是计算机视觉(CV)领域重要的过程之一。在图像标注过程中,数据标注员使用标签或元数据来标记AI模型学习识别的数据特征。然后,这些图像标…

线程池学习(六)线程池状态转化

线程池状态定义 // runState is stored in the high-order bits // 线程池创建之后的初始状态&#xff0c;这种状态下可以执行任务private static final int RUNNING -1 << COUNT_BITS; // 线程池不再接收新的任务&#xff0c;但是会将队列中的任务执行完 private s…

解决apkanalyzer.bat could NOT be found in D:\Download\Android SDK Tools!警告报错

appium安装过程中很可能出现以下警告报错&#xff0c;咱就按如下操作即可搞定&#xff01;&#xff01;&#xff01; apkanalyzer.bat could NOT be found in D:\Download\Android SDK Tools! 一、下载Command line tools 下载地址&#xff1a;​https://developer.android.g…

Jenkins (一)

Jenkins (一) Docker Jenkins 部署 一. 安装 jenkins $ mkdir -p /home/tester/data/docker/jenkins $ vim jenkins:lts-jdk11.sh./jenkins:lts-jdk11.sh 内容 #! /bin/bash mkdir -p /home/tester/data/docker/jenkins/jenkins_homesudo chown -R 1000:1000 /home/tester/da…

基于simulink的DPLL仿真笔记

该笔记主要用于本人思路整理与记录 本设计运用的是电荷泵一阶环路滤波器&#xff0c;二阶三阶则在此基础上举一反三&#xff0c;以后如有机会会慢慢补全 文章目录 一.仿真模型PS&#xff08;题外话&#xff09; 二.仿真结果三.环路滤波器分析1. 环路滤波器对比LPF2. 环路滤波器…

从零开发短视频电商 单元测试(TestNG)

文章目录 简介简单示例执行测试并查看测试报告方式一 在IDEA中运行testng.xml文件方式二 在IDEA中运行测试类或者package方式三 在Maven中运行测试 统计测试覆盖率方式一 IDEA 支持详细的代码测试覆盖率统计方式二 Maven支持测试覆盖率 在IDEA中创建测试用例使用 IDEA 快速创建…

ELK搭建

ELK介绍&#xff1a; ELK是一组开源工具的缩写&#xff0c;它由Elasticsearch、Logstash和Kibana三个组件组成&#xff0c;用于处理、分析和可视化大量日志数据。 入门级ELK搭建&#xff08;无Docker环境&#xff09; 安装前准备 1.获取安装包 https://artifacts.elastic…

【InsCode Stable Diffusion 美图活动一期】生成着玩

此为内容创作模板&#xff0c;请按照格式补充内容&#xff0c;在发布之前请将不必要的内容删除 一、 Stable Diffusion 模型在线使用地址&#xff1a; https://inscode.csdn.net/inscode/Stable-Diffusion 二、模型相关版本和参数配置&#xff1a; 三、图片生成提示词与反向…

【Docker】详解docker安装及使用

详解docker安装及使用 1. 安装docker1.1 查看docker版本信息 2. Docker镜像操作3. Docker容器操作4.知识点总结4.1 docker镜像操作4.2 docker容器操作4.3 docker run启动过程 参见docker基础知识点详解 1. 安装docker 目前Docker只能支持64位系统。 ###关闭和禁止防火墙开机自…

Hadoop: High Available

序言 在Hadoop 2.X以前的版本&#xff0c;NameNode面临单点故障风险&#xff08;SPOF&#xff09;&#xff0c;也就是说&#xff0c;一旦NameNode节点挂了&#xff0c;整个集群就不可用了&#xff0c;而且需要借助辅助NameNode来手工干预重启集群&#xff0c;这将延长集群的停…

Windows 组策略 部署打印机

一、服务端 1、打印机管理&#xff1a;添加打印机 2、选择打印机 3、第一次安装&#xff0c;选择这个 4、下载驱动&#xff0c;从磁盘安装 5、已成功安装 6、选中打印机右击属性&#xff1a;列出目录 7、创建一个组策略 8、组策略设置 用户设置 → 首选项 → 控制面板 → 打印…

C++day4 (拷贝构造函数、拷贝赋值函数、匿名对象、友元函数、常成员函数、常对象、运算符重载)

#include <iostream> #include <cstring> using namespace std;class mystring { private:char *str; //记录C风格字符串int size; //记录字符串的实际长度public://无参构造mystring():size(10){strnew char[size];//构造出一个长度为10的字符串strcpy(str,&…

22.代理模式

代理模式 二十三种设计模式中的一种&#xff0c;属于结构型模式。它的作用就是通过提供一个代理类&#xff0c;在调用目标方法的时候&#xff0c;不再是直接对目标方法进行调用&#xff0c;而是通过代理类间接调用。让不属于目标方法核心逻辑的代码从目标方法中剥离出来——解耦…

移动端深度学习部署:TFlite

1.TFlite介绍 &#xff08;1&#xff09;TFlite概念 tflite是谷歌自己的一个轻量级推理库。主要用于移动端。 tflite使用的思路主要是从预训练的模型转换为tflite模型文件&#xff0c;拿到移动端部署。 tflite的源模型可以来自tensorflow的saved model或者frozen model,也可…

初识protobuf

Protobuf 全称Protocol Buffers&#xff08;协议缓冲区&#xff09;&#xff0c;是一种轻量级、高效的数据序列化格式&#xff0c;由Google开发。它被设计用于结构化数据的序列化、反序列化以及数据交换&#xff0c;常用于网络通信和数据存储等领域。 Protobuf使用简洁的消息描…