• RT-Thread Env 工具介绍(学习笔记)


    本文参考《RT-Thread 文档中心——Env 用户手册》

    Env 简介

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

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

    ——原文

    下载 Env

    Env 工具包含了 RT-Thread 源代码开发编译环境和软件包管理系统。下载地址:https://www.rt-thread.org/page/download.html

    【注意】

    • Env 的软件包管理功能需要 Git 的支持,Git 下载地址:https://git-scm.com/downloads,同时还需将 Git 添加到环境变量中。
    • 在工具环境中的路径名中,不能出现中文字符或空格。

    Env 的启动

    有两种方法启动 Env,一种是直接打开 env.exe,打开失败可以尝试使用 env.bat(这时的工作路径在 Env 软件所在目录);另一种是通过右键菜单打开,但需要先将 Env 添加到右键菜单中,具体的操作可以参考下图:

    图片来源:《RT-Thread 文档中心——Env 用户手册》

    在这里插入图片描述

    使用 Env 编译 BSP

    scons 是 RT-Thread 使用的编译构建工具,可以使用 scons 相关命令来编译 RT-Thread 。

    随便进入一个 RT-Thread BSP 工程,输入 scons 命令,这时 Env 将使用默认的 ARM_GCC 工具链编译 bsp:

    在这里插入图片描述

    编译成功,编译的最后一步是使用 arm-none-eabi-bojcopy 将 .elf 文件转换为 .bin 文件(二进制可执行文件)。

    在这里插入图片描述

    如果是使用 mdk/iar 项目,可以使用以下命令进行编译。

    scons --target=iar
    scons --target=mdk4
    scons --target=mdk5
    
    • 1
    • 2
    • 3

    下图是使用 scons --target=mdk5 编译的结果,工程链接完成后,使用了 fromeelf 将 .elf 文件转换成了 .bin 文件。

    在这里插入图片描述
    而 fromelf 正是 Keil 软件所用的格式转换工具:

    在这里插入图片描述

    使用 Env 配置 BSP

    menuconfig 是一种图形化配置工具,RT-Thread 使用其对整个系统进行配置、裁剪。

    在 bsp 根目录(需要有 Kconfig 文件)输入 menuconfig 命令即可打开图像化配置工具:

    在这里插入图片描述

    该图像菜单支持的功能包括:RT-Thread 内核配置(修改 rtconfig.h)、RT-Thread 组件管理、RT-Thread 在线软件包、硬件驱动配置及外部库。

    内核配置

    一个 RT-Thread 工程的所有内核配置都放在 rtconfig.h 中,通过修改 RT-Thread Kernel 的配置,就能实现修改 rtconfig.h 的目的。

    在这里插入图片描述

    组件管理

    RT-Thread 有很多可裁剪的组件,比如命令行(msh)、网络、设备驱动。

    在这里插入图片描述

    软件包管理

    RT-Thread 提供一个软件包管理平台,这里存放了官方提供或开发者提供的软件包。该平台为开发者提供了众多可重用软件包的选择,这也是 RT-Thread 生态的重要组成部分。

    软件包 Git 仓库:https://github.com/RT-Thread-packages,当前(写文章时)该仓库有 128 个软件包。

    在这里插入图片描述

    可以在 Env 命令行输入 pkgs 管理软件包的更新(menuconfig 中修改的软件包配置,还需要在 Env 输入 pkgs --update 来同步到工程中)。

    在这里插入图片描述

    如果长期不对本地的软件包进行更新,可能会出现本地软件包与服务器不同步的情况。这时我们可以通过在 Env 命令行输入 pkgs --upgrade 来解决这个问题。而且它还能对 Env 进行升级。

    驱动配置

    在这里可以管理 bsp 相关驱动的开启与关闭,

    在这里插入图片描述

    下面是片上外设驱动中的选项:

    在这里插入图片描述

    外部库

    外部库里可以选择是否使用某些工程目录下的某些库,下面这几个是正点原子潘多拉开发板 bsp 中的外部库。

    在这里插入图片描述

    Env 工具配置

    新版本的 Env 工具中加入了自动更新软件包和自动生成 mdk/iar 工程的选项,默认是不开启的。可以使用 menuconfig -s/–setting 命令来进行配置。

    下面是默认配置:

    在这里插入图片描述

    这里介绍一下第二个功能——自动创建 mdk/iar 工程

    当修改 menuconfig 配置后 ,必须输入 scons --target=xxx 来重新生成工程。开启此功能,就会在退出 menuconfig 时,自动重新生成工程,无需再手动输入 scons 命令来重新生成工程。

  • 相关阅读:
    Velocity模板引擎的的使用示例(入门级)
    springboot simple (9) springboot jpa(Hibernate)
    代理IP与Socks5代理:网络工程师的神奇魔法棒
    剑指 Offer 03. 数组中重复的数字
    交叉编译链的问题
    Android 边播放边缓存视频框架AndroidVideoCache简析
    Python学习记录 析构函数
    vue的孙组件获取祖组件数据的方法(this.$parent)
    Spring MVC注解Controller源码流程解析--定位HandlerMethod
    500左右的耳机哪款降噪最好?500左右降噪最好的耳机推荐
  • 原文地址:https://blog.csdn.net/weixin_43772810/article/details/125523892