添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Env 是 RT-Thread 对源码进行配置和裁剪、生成工程的工具,然而文档中的配置过程主要针对 Windows 系统,并没有对 Linux 系统的配置进行详细的介绍,这里简要介绍其在 Linux 下的配置与使用方法。

下载

Env 工具本质上是一组 Python 脚本,它的 Windows 版本中包含运行脚本的全套的工具和环境,而 Linux 版则只包含脚本本身,在使用 Env 工具前,我们需要先自行安装相关的工具。

若您使用的是 Ubuntu 系统,可参考 官方仓库中的配置流程 使用脚本进行配置,若您使用的是其他发行版,则根据自己的需要安装工具。

想要正常运行 Env 工具和编译工程,您至少需要在系统中安装 python3 , scons , gcc , git , ncurses ,以及编译您的目标平台的 bsp 所需的交叉编译工具链。请使用包管理器或其他方法自行安装这些软件。

安装完毕这些软件后,前往您想编译的目标平台所对应的 bsp 目录(这里我使用的 bsp 是 rt-thread/bsp/qemu-virt64-riscv), 运行 scons --menuconfig , 则会自动的下载 Env 工具,并进入 RT-Thread 的配置界面,这里我们可以暂时不进行配置,退出即可。

运行完毕后,Env 工具会被安装在当前用户的 ~/.env 目录中。

使用

Env 工具在下载时,会在 ~/.env 目录下生成 env.sh 文件。若您使用 bash 或者其他支持 bash 语法的 shell(如 zsh ),则您可通过运行 source ~/.env/env.sh 来引入 Env 的环境变量。若您使用 fish ,则 Env 在安装过程中还会生成一个 env.fish 文件。由于 fish 并不支持 ‘bash’ 设置环境变量的语法,当使用 fish 时,需要运行 source ~/.env/env.fish 引入环境变量。

在 Env 中,我们可直接运行的命令的只有 menuconfig pkgs ,它们都是对 env.py 的调用。 menuconfig 命令可打开 RT-Thread 配置页面,效果与直接运行 scons --menuconfig 相同。 pkgs 命令可用于管理在线包,使用方法参见其他教程,不再赘述。

编译工程

在 bsp 目标平台目录下,运行 menuconfig ,进行我们需要的配置,配置完毕后选择 <Save> 保存为 .config 文件。最后即可使用 scons 编译工程。

直接运行 scons 时,可能会产生找不到编译器、编译失败等错误。可以使用环境变量和 scons 的参数指定编译器的路径和前缀,下面将演示使用环境变量和使用参数指定编译器的方式。(也可选择将环境变量直接添加在安装时生成的 env.sh env.fish 中,这样添加后可以直接运行 scons 而不产生报错。)类似于 make , scons 也能使用 -j线程数 的参数开启多线程编译,加快编译速度。 scons 的更多参数,可在 rt-thread/tools/options.py 文件中查看。

编译得到目标文件后,即可烧录到目标平台中。