Files
luban-lite-t3e-pro/doc/luban-lite_user_guide_linux.md
刘可亮 7bbc029dae v1.0.0
2023-08-30 16:21:18 +08:00

3.2 KiB
Raw Blame History

1. 环境安装

Luban-Lite SDK 采用了 scons 作为编译框架的基础语言,对开发环境的依赖:

  • Python2需安装插件
    • scons
  • Python3需安装插件
    • pycryptodomex

已验证可用的操作系统环境:

  • Ubuntu 20.04
  • Windows 10

2. 使用方法

2.1 方案加载

在编译一个方案之前,首先需要加载方案的现有配置:

$ cd luban-lite
$ scons --list-def                  // 列出当前可选的方案配置
$ scons --apply-def=xxx_defconfig   // 应用上述列表其中一条方案配置
$ scons --info                      // 查看当前方案的基本配置

2.2 Menuconfig 配置

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

$ cd luban-lite
$ scons --menuconfig                // Linux 命令行下启动 Menuconfig
$ ....                              // Menuconfig 配置过程

在修改 Project options 中的配置时需要注意以下要求:

2.3 编译

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

$ cd luban-lite
$ scons                             // 编译当前方案
$ scons --verbose                   // 编译当前方案显示更多详细信息如GCC命令行参数
$ scons -c                          // clean当前方案
$ ls output/$chip_$board_$kernel_$app/images/$soc.elf   // 编译生成的目标文件

2.4 其他命令

$ cd luban-lite
$ scons --run-qemu           // 运行当前编译出来的qemu目标文件需要先打开chip->QEMU配置
$ scons --list-size          // size 命令列出所有 .o 文件的 text/data/bss 各个 section 大小
$ scons --pkgs-update        // 下载选择的在线 packages

如果需要 Windows IDE 中编译,首先在命令行下使用命令生成当前方案对应的 IDE 方案文件:

$ scons --target=eclipse            // 生成当前方案对应的 eclipse 方案文件

然后使用 Eclipse IDE 打开方案文件进行调试。

3. OneStep 增强命令

Luban-Lite 中对命令行中的scons工具进行了封装将一些高频命令行操作定义了一组快捷命令统称为OneStep命令。

OneStep命令的设计目标是任意目录只需一步。

使用方法:

  • 需要先导入脚本onestep.sh
  • 然后在该shell中就可以从任意目录执行以下命令包括: - lunch - 选择方案 - m - 编译SDK - c - clean SDK - cr - 跳转到SDK根目录等
$ cd luban-lite
$ source tools/onestep.sh
$ h
Luban-Lite SDK OneStep commands:
  hmm|h                     : Get this help.
  lunch          [keyword]  : Start with selected defconfig.e.g. lunch mmc
  menuconfig|me             : Config SDK with menuconfig
  m                         : Build all and generate final image
  c                         : Clean all
  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.
  i                         : Get current project's information.