Edit online

Windows

4 Dec 2024
Read time: 2 minute(s)

本节介绍了Windows 环境下可以采用的编译方式,以及两个命令行工具的使用。

Baremetal SDK 采用了 Scons 作为编译框架的基础语言,Windows 环境中使用的工具存放在 luban-lite/tools/env/tools 目录中,不需要单独安装。

常规编译

Windows 环境下的常规编译流程如下所示:
  1. 工程加载
    双击 SDK 根目录下的 win_cmd.batwin_env.bat,加载工程的现有配置:
    注: win_cmd.batwin_env.bat 为两种不同的批处理文件,详情可查看批处理文件
    $ scons --list-def                  // 列出当前所有的工程默认配置,简洁命令 list
    $ scons --apply-def=xxx_defconfig   // 加载应用上述列表其中一条工程配置,简洁命令 lunch xxx_defconfig
    

    和工程相关的命令还有:

    $ scons --save-def                  // 手工保存当前工程配置
    $ scons --info                      // 列出当前工程的基本配置,简洁命令 i
    
  2. 配置

    在加载完工程配置后,可以使用 menuconfig 命令来修改当前配置:

    $ scons --menuconfig                // 启动 Menuconfig,简洁命令 me
    $ ....                              // Menuconfig 配置过程
    
  3. 编译

    配置完成后,可以使用以下的命令进行编译:

    $ 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 根目录等


win_onestep1

批处理文件

在 SDK 根目录下有两个批处理文件来实现命令行的使用,如下所示:
  • ENV 运行环境

    直接双击 luban-lite/win_env.bat 打开 Windows 专有的 env 命令行工具,后面所有命令都在该命令行工具中进行操作。

    ENV 是 RT-Thread 的原生工具,是 SDK 包中集成了编译所需要使用的所有的工具的一种使用方式


    lbl_win_env2

  • CMD 运行环境

    直接双击 luban-lite/win_cmd.bat 打开 Windows 的 CMD 命令行工具,后面所有命令的使用和 ENV 相同。


    lbl_win_cmd2

    CMD 是 Windows 的使用环境,除了 SDK 的命令外,还可以使用系统自己安装的工具的命令,因此功能更强大。