Edit online

Ubuntu

ArtInChip 推荐的 Linux 发行版为 Ubuntu 20.04 LTS(Long Term Support)版本,其他版本也可行,只是安装软件包的依赖和版本不同。

系统安装

虚拟机和 Ubuntu 20.04 的安装请参考 Luban 中的章节

下载 Luban-Lite

Luban-Lite 的代码托管于 Gitee 服务器中,可通过如下方式进行下载:

  • 客户注册 Gitee 账号,通过网页下载

  • 安装 Git,使用 git 命令进行下载
    git clone https://gitee.com/artinchip/aic1602.git
    
提示:

建议下载或解压缩之后,在 SDK 根目录,建立 git 仓库,以便跟踪后续修改。

编译环境准备

Luban-Lite SDK 的开发环境中,还需要安装一些依赖包,并对几个关键工具有版本要求:

  • Python2: 用于编译

  • scons:自动化构建工具

  • Python3 + pycryptodomex: 用于打包和签名

安装的方法很多,本文提供基于 apt 的在线安装方案
  1. 资源库更新
    在国内使用 apt 进行软件安装,会经常碰到 http://cn.archive.ubuntu.com/ubuntu 无法访问或者访问速度非常慢,最简单的办法是替换成国内比较快的镜像网站,测试中 mirrors.aliyun.com 的效果很好
    sudo gedit /etc/apt/sources.list   中  cn.archive.ubuntu.com 全部更换为 mirrors.aliyun.com
    sudo apt-get update
  2. 安装 scons
    scons 是一个开发源码,以 python 语言编码的自动化构建工具,它是 Make 的改进的、跨平台的替代品,因此 Luban-Lite 选择 scons 作为构建工具, 但同时支持对 Makefile 的调用
    sudo apt install scons
    
  3. 安装 pycryptodomex

    pycryptodomex 是 python 的一个加密库,可以通过用 pip 安装 whl 文件, 也可以通过源码进行编译安装, SDK tools/env/local_pkgs/ 中内置了 pycryptodomex 源码

    两种安装都需要安装 pip 来提供相应的组件, 并且 ubuntu20.04 中默认安装的 python3-pip
    sudo apt install pip
    cd tools/env/local_pkgs/
    tar xvf pycryptodomex-3.11.0.tar.gz
    cd pycryptodomex-3.11.0
    sudo python3 setup.py install
    

编译检查

如果上述安装均成功,可以进入到 Luban-Lite, 使用 scons 进行编译校验环境是否搭建成功
scons --list-def            //查看有多少配置
scons --apply-def=0         //选择 0 号配置
scons                       //编译

OneStep

OneStep 是 ArtInChip 对 scons 工具的二次封装的总称,在基础命令上开发了一组更高效和方便的快捷命令, 以达到任意目录、只需一步的目的

在 Ubuntu 终端中,进入 SDK 根目录,使用 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
mc                        : Clean & Build all and generate final image
mb                        : Build bootloader & app 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.
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