Edit online

OneStep 命令参考指南

24 Dec 2024
Read time: 4 minute(s)

OneStep 是 ArtInChip 对 SCons 工具二次封装的总称,在基础命令上开发了一组更高效和方便的快捷命令, 以实现任意目录、一步即达的目的。根据操作系统的不同,可能需要不同的设置:
  • Windows系统设置

    在 Windows 系统中,OneStep 自动集成到 win_cmd.batwin_env.bat 批处理脚本中。

    在 CMD 或者 ENV 窗口启动后,OneStep 命令已经生效,在其中可以从任意目录执行 OneStep 命令。

  • Linux 系统设置
    在 Linux 系统中,需要将 OneStep 脚本添加到当前路径中,如执行以下命令:
    source tools/onestep.sh

    在 Ubuntu 终端中,进入 SDK 根目录后,使用 source tools/onestep.sh 命令即可查看所有常见命令。

为了方便使用并加快开发效率,ArtInChip 开发了一系列的 OneStep 子命令,如h|help显示帮助信息以及lunch选择和启动指定的项目配置。
h
Luban-Lite SDK OneStep commands:
    hmm|h                     : Get this help.
    lunch          [keyword]  : Start with selected defconfig.e.g. lunch mmc
    menuconfig|me             : Config application with menuconfig
    bm                        : Config bootloader with menuconfig
    km                        : Config application with menuconfig
    m|mb                      : Build bootloader & application and generate final image
    ma                        : Build application only
    mu|ms                     : Build bootloader only
    c                         : Clean bootloader and application
    mc                        : Clean & Rebuild all and generate final image
    croot|cr                  : cd to SDK root directory.
    cout|co                   : cd to build output directory.
    cbuild|cb                 : cd to build root directory.
    ctarget|ct                : cd to target board directory.
    godir|gd       [keyword]  : Go/jump to selected directory.
    list                      : List all SDK defconfig.
    list_module               : List all enabled modules.
    i                         : Get current project's information.
    buildall                  : Build all the *defconfig in target/configs
    rebuildall                : Clean and build all the *defconfig in target/configs
    addboard|ab               : Add new board *defconfig in target/configs
    aicupg                    : Burn image file to target board
 

list

查看所有项目文件。

注:
list 命令进行了显示项目精简,隐藏了 bootloader 的项目文件。
list
输出示例如下:
scons: Reading SConscript files ...
Built-in configs:
d12x_demo68-nand_rt-thread_helloworld_defconfig
0. d12x_demo68-nor_rt-thread_helloworld_defconfig
1. d12x_hmi-nor_rt-thread_helloworld_defconfig
2. d13x_demo68-nor_rt-thread_helloworld_defconfig
3. d13x_demo88-nand_rt-thread_helloworld_defconfig
4. d13x_demo88-nor_rt-thread_helloworld_defconfig
5. d13x_kunlunpi88-nor_rt-thread_helloworld_defconfig
6. d21x_d215-demo88-nand_rt-thread_helloworld_defconfig
7. d21x_d215-demo88-nor_rt-thread_helloworld_defconfig
8. d21x_demo100-nor_rt-thread_helloworld_defconfig
9. d21x_demo128-nand_rt-thread_helloworld_defconfig
10.g73x_demo100-nor_rt-thread_helloworld_defconfig
11.g73x_demo68-nor_rt-thread_helloworld_defconfig
12.g73x_scan_rt-thread_helloworld_defconfig

lunch

选择、加载或应用具体配置方案。
  • 示例 1:进入 Recovery 系统 SDK 生产环境
    lunch ota_emmc
  • 示例 2:加载 d13x_demo88-nor-xip_rt-thread_helloworld_defconfig 配置文件
    lunch d13x_demo88-nor-xip_rt-thread_helloworld_defconfig

menuconfig|me

打开 menuconfig 工具界面,修改 RT-Thread 配置

menuconfig
me

bm

打开 menuconfig 工具界面,修改 BootLoader 配置

bm

km

打开 menuconfig 工具界面,修改应用配置

bm

m

编译 SDK 固件,并生成镜像文件。
m
注:
mb 命令含义相同。

mb

编译 bootloader 和应用,并生成最终镜像文件。
mb

ma

仅编译应用,并生成最终镜像文件。
ma

mu|ms

仅编译 bootloader,并生成最终镜像文件。
mu|ms

c

清除 bootloader 和应用配置。
c

mc

清除并重新编译,重新生产所有最终镜像文件。
mc

croot|cr

进入 SDK 根目录。

cout|co

进入编译输出目录

ctarget|ct

回到方案或目标开发板目录。

godir|gd

跳转到指定目录。

i

查看当前项目的配置信息。

i
scons: Reading SConscript files ...
Target app: application/rt-thread/helloworld
Target chip: d12x
Target arch: riscv32
Target board: target/d12x/demo68-nor
Target kernel: kernel/rt-thread
Defconfig file: target/configs/d12x_demo68-nor_rt-thread_helloworld_defconfig
Root directory: xxxxxxxxxxxxxx
Out directory: output/d12x_demo68-nor_rt-thread_helloworld
    Toolchain: toolchain/bin\riscv64-unknown-elf-

buildall

编译目标配置文件 target/configs 中的所有 *defconfig 文件。

rebuildall

清除前一次配置信息,并重新编译目标配置文件 target/configs 中的所有 *defconfig 文件。

addboard|ab

target/configs 中添加新开发板的 *defconfig 文件。

aicupg

将镜像文件烧录到目标开发板中。