aos-cube是AliOS Things基于命令行的开发管理工具,主要功能包括:工程配置与编译、Image下载调试、组件脚手架生成、组件安装管理、设备管理、代码审查、OTA工具等功能。它依赖于Python(64bits,2.7.14和3.5已验证)。Linux下AliOS-Things开发环境的搭建主要分为两部分:python和pip安装、基于pip安装aos-cube及相关的依赖包。

# 安装python、pip和git
$ sudo apt-get install -y python python-pip git
# 完成python和pip安装后,再安装依赖库和aos-cube,步骤如下:
$ python -m pip install setuptools wheel aos-cube

如果在安装过程中遇到网络问题,可使用国内镜像。

### 安装/升级 pip
$ python -m pip install --trusted-host=mirrors.aliyun.com -i https://mirrors.aliyun.com/pypi/simple/ --upgrade pip
### 基于pip依次安装第三方包和aos-cube
$ pip install --trusted-host=mirrors.aliyun.com -i https://mirrors.aliyun.com/pypi/simple/   setuptools
$ pip install --trusted-host=mirrors.aliyun.com -i https://mirrors.aliyun.com/pypi/simple/   wheel
$ pip install --trusted-host=mirrors.aliyun.com -i https://mirrors.aliyun.com/pypi/simple/   aos-cube
### 如需要使用doubanio作备用源
$ pip install  --trusted-host pypi.doubanio.com -i  http://pypi.doubanio.com/simple/  aos-cube
### 如需指定版本,可改成如aos-cube==0.2.50

因涉及多种开发环境和具体版本的依赖,针对开发者的实际情况,还给出一种简单方便且不影响当前系统环境的方法----基于虚拟环境virtualenv的方法,作为备用。

python和python-pip安装完成后,再执行以下步骤:

# pip 安装 virtualenv, 如安装成功,可以在pip list查看版本
$ python -m pip install virtualenv
# 如遇网络问题,可使用阿里云镜像
$ pip install --trusted-host=mirrors.aliyun.com -i https://mirrors.aliyun.com/pypi/simple/ virtualenv
# 建立虚拟环境,如安装到~/venv(可更改)
$ virtualenv  ~/venv --no-download
# 启动虚拟环境,下面执行使用 '.'
$ . ~/venv/bin/activate
# 安装 aos-cube和必要的依赖包
$ `请参考上文aos-cube及相关依赖安装`
# 退出虚拟环境
$ deactivate

配置环境变量

首先下载AliOS Things源代码,可参考《获取源码》。

其次添加 AOS_SDK_PATH系统环境变量,指向 AliOS Things 3.1源码路径,aos-cube会根据 AOS_SDK_PATH环境变量来定位AliOS Things源码。

根据不同的系统,可以在其相应的用户配置文件中修改,如~/.bash_profile,~/.profile,~/.bashrc等。例如,修改~/.bashrc文件:

$ vi ~/.bashrc
# 文件末尾添加环境变量,指向AliOS Things源码目录,并保存退出
export AOS_SDK_PATH=/home/user/AliOS-Things
# 使配置立即生效
$ source ~/.bashrc

编译

在自己的工作目录(注意:非AliOS Things的目录或子目录)下面,运行:

$ aos create project -b mk3060 -t helloworld -d tmp myapp
$ cd tmp/myapp
$ aos make

编译 mk3060 板子的 helloworld 示例程序。 详细的编译操作请参考《使用命令行工具开发》。

编译过程中,编译系统会根据所选的平台自动下载相应的工具链。

也可以事先将交叉工具链下载到本地任意位置,然后将其加入到环境变量PATH里面。

注意:如果是直接采用linux的gcc编译,需要安装32bit版本的gcc。

$ sudo apt-get install gcc-multilib

编译完成以后,可使用串口工具minicom的ymodem方式下载程序和查看设备日志。

minicom串口配置

配置串口参数(以MK3060为例),配置文件(/etc/minicom/minirc.dfl)内容 :

pu port             /dev/ttyUSB0
pu baudrate         921600
pu bits             8
pu parity           N
pu stopbits         1
pu rtscts           No

启动 minicom,查看串口日志。

一些小技巧

Linux 操作串口及 j-link 会有root权限要求,尤其在使用 AliOS-Things Studio时候,对串口及 j-link 的权限需要先做配置:

  • $ sudo usermod -a -G dialout $(whoami),添加当前用户到 dialout 组,提供直接使用串口能力。
  • $lsubs 找到 j-link 厂商ID。如:Bus 002 Device 008: ID 1366:0105 SEGGER,厂商ID为1366,新建/etc/udev/rules.d/99-stlink-v2.rules文件,在文件里面添加规则:SUBSYSTEM=="usb", ATTR{idVendor}=="1366", MODE="666", GROUP="plugdev"

配置操作串口及 j-link权限后,重启系统生效。

视频演示