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,进行我们需要的配置,配置完毕后选择 保存为 .config 文件。最后即可使用 scons 编译工程。
直接运行 scons 时,可能会产生找不到编译器、编译失败等错误。可以使用环境变量和 scons 的参数指定编译器的路径和前缀,下面将演示使用环境变量和使用参数指定编译器的方式。
(也可选择将环境变量直接添加在安装时生成的 env.sh 或 env.fish 中,这样添加后可以直接运行 scons 而不产生报错。)类似于 make, scons 也能使用 -j线程数 的参数开启多线程编译,加快编译速度。scons 的更多参数,可在 rt-thread/tools/options.py 文件中查看。
编译得到目标文件后,即可烧录到目标平台中。
5G需求带来新变化 存储器将影响人工智能的发展
净利增长超1倍,迎来开门红的海信目标“全球第一”
使用IntelliJ IDEA看源码
疯狂技术男DIY了一个辉光时钟
未来的人车交互场景是怎样的
在Linux中使用RT-Thread Env工具的简明指南
直流电机的基本组成 直流电机的主要缺点 直流电机的四种励磁方式
了解LED芯片常出现的六大问题
制作LED电子生日蜡烛电路图与工作原理解析
数据通信电路交换过程是笮怎样的?
控制器比电机大好吗?
串口传输的是什么信号 串口接收到的数据怎么解读出来
台积电公布第三季度业绩实现了营收高达2930亿元新台币环比增长21.6%
索尼HT-Z9F和Bose回音壁哪个最好
云豹短视频平台源码系统怎么制作视频?
基于XC3S400PQ208 FPGA芯片实现异步FIFO模块的设计
采用可编辑逻辑器件是瞎按高斯白噪声发生器的应用方案
专访莱克创始人倪祖根:不忘“清洁之王”初心,成就五大品牌生态
AC/DC电源模块工作效率的特点
全球供应链开始重组,牵一发而动全身的局面不在