Windows
4 Dec 2024
Read time: 2 minute(s)
本节介绍了Windows 环境下可以采用的编译方式,以及两个命令行工具的使用。
Baremetal SDK 采用了 Scons 作为编译框架的基础语言,Windows 环境中使用的工具存放在 luban-lite/tools/env/tools 目录中,不需要单独安装。
常规编译
Windows 环境下的常规编译流程如下所示:
- 工程加载
双击 SDK 根目录下的 win_cmd.bat 或 win_env.bat,加载工程的现有配置:
$ scons --list-def // 列出当前所有的工程默认配置,简洁命令 list $ scons --apply-def=xxx_defconfig // 加载应用上述列表其中一条工程配置,简洁命令 lunch xxx_defconfig
和工程相关的命令还有:
$ scons --save-def // 手工保存当前工程配置 $ scons --info // 列出当前工程的基本配置,简洁命令 i
-
配置
在加载完工程配置后,可以使用 menuconfig 命令来修改当前配置:
$ scons --menuconfig // 启动 Menuconfig,简洁命令 me $ .... // Menuconfig 配置过程
-
编译
配置完成后,可以使用以下的命令进行编译:
$ scons // 编译当前工程,简洁输出,简洁命令 m $ scons --verbose // 编译当前工程,详细输出 $ scons -c // 清理当前工程 $ ls output/$chip_$board_$kernel_$app/images/$soc.elf // 编译生成的目标文件
其他命令$ scons --run-qemu // 运行当前编译出来的 qemu 目标文件 $ scons --list-size // size 命令列出所有 .o 文件的 text/data/bss 各个 section 大小 $ scons --pkgs-update // 下载选择的在线 packages
OneStep
在 CMD 或者 ENV 窗口启动后,OneStep 命令已经生效,在其中可以从任意目录执行以下命令,包括:
-
lunch - 选择方案
-
m - 编译 SDK
-
c - clean SDK
-
cr - 跳转到 SDK 根目录等
批处理文件
在 SDK 根目录下有两个批处理文件来实现命令行的使用,如下所示:
-
ENV 运行环境
直接双击 luban-lite/win_env.bat 打开 Windows 专有的 env 命令行工具,后面所有命令都在该命令行工具中进行操作。
ENV 是 RT-Thread 的原生工具,是 SDK 包中集成了编译所需要使用的所有的工具的一种使用方式
-
CMD 运行环境
直接双击 luban-lite/win_cmd.bat 打开 Windows 的 CMD 命令行工具,后面所有命令的使用和 ENV 相同。
CMD 是 Windows 的使用环境,除了 SDK 的命令外,还可以使用系统自己安装的工具的命令,因此功能更强大。