AliOS Things Native版开发环境(适合有经验的开发者)

1编译环境安装

1.1、Linux环境安装

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

安装完成以后,使用aos --version,查看是否安装成功。

如果显示版本号,如“0.5.11”,则表明安装成功;

如果显示“command not found: aos”,则查看aos-cube的安装路径,并将对应的路径添加到环境变量PATH里。

# 查找aos-cube安装路径

$ find ~ -name aos-cube

/home/hongye.jhy/.local/bin

# 将python包的安装路径添加到环境变量PATH里。如果使用的是zsh,则更新~/.zshrc;如果使用的是bash,则更新~/.bashrc

$ echo "export PATH=/home/hongye.jhy/.local/bin/:$PATH" >> ~/.bashrc

# 更新配置

$ source ~/.bashrc

因涉及多种开发环境和具体版本的依赖,针对开发者的实际情况,还给出一种简单方便且不影响当前系统环境的方法----基于虚拟环境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

1.1.1、配置环境变量

首先下载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

1.1.2、编译

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

$ aos create project -b haaseduk1 -t helloworld_demo -d tmp myapp

$ cd tmp/myapp

$ aos make

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

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

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

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

$ sudo apt-get install gcc-multilib

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

 

1.1.3、minicom串口配置

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

pu port             /dev/ttyUSB0

pu baudrate         1500000

pu bits             8

pu parity           N

pu stopbits         1

pu rtscts           No

启动 minicom,查看串口日志。

 

1.1.4、一些小技巧

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权限后,重启系统生效。

 

1.2、Windows环境安装

Windows下AliOS-Things开发环境的搭建主要分为两部分:python和pip安装、基于pip安装aos-cube及相关的依赖包。在 Python 官网下载对应的 2.7 版本的 Python MSI 安装文件,安装时,选择 pip add python.exe to Path 两个选项。安装3.x版本时,选择 Add Python to PATH 选项。

注意:Python 请安装到不含空格的路径

安装配置完成 Python 后,使用 pip 安装 aos-cube:

> pip install aos-cube

注意:如遇到网络问题,请参考安装python和aos

1.2.1、安装git bash

官网上下载git bash,按默认配置安装即可。

 

1.2.2、配置环境变量

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

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

右键点击“计算机”->选择“属性”->选择“高级系统设置”->选择“环境变量”。

选择“新建”,在弹出的框里面,变量名输入“AOS_SDK_PATH”,变量值输入AliOS Things源码所在的目录,选择“确定”退出,并重启电脑。

1.2.3、交叉工具链

对于常用的交叉编译工具链,如gcc-arm-none-eabi,在编译的时候,aos-cube也会自动下载到AliOS Things源码目录下的 build/compiler

用户也可以在链接 GCC 下载 Windows的exe安装,勾选 Add path to environment variable 选项:

编译

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

$ aos create project -b haaseduk1 -t helloworld_demo -d tmp myapp

$ cd tmp/helloworld

$ aos make

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

如果采用developerkit,仅需要在创建工程的时候,修改-b后面的参数即可。

$ aos create project -b developerkit -t helloworld_demo -d tmp helloworld

$ cd tmp/helloworld

$ aos make

1.2.4、驱动安装

串口驱动

开发板常用的串口驱动有FTDI系列、CP210x系列、PL230x系列等。

FTDI系列

以FTDI驱动安装为例,在 FTDI官网 下载 Windows 驱动程序并安装。

对应驱动安装完成后,连接设备,可在计算机 - 设备管理 - 端口,查看对应转换端口状态:

驱动安装完成后,连接串口线,配置串口参数。

在 MobaXterm Personal Edition 下,在Session - Serial,选择端口,修改图中Speed的波特率设置为1500000(将图中921600修改为1500000), 在Advanced Serial setting 里面,Software 选择 Minicom (allow manual COM port setting):

对应参数配置好一会,点击 OK 按钮,查看串口日志。

jtag驱动

J-Link

J-Link 驱动可在 SEGGER J-Link驱动下载地址 下,选择 J-Link Software and Documentation Pack,选择 J-Link Software and Documentation pack for Windows 下载安装:

安装完成 J-Link 驱动后,需要安装 J-Link 的 libusb 驱动 zadig,下载后解压缩,运行 zadig.exe 或 zadig_xp.exe(Window XP系统):

选择 J-Link,driver 选择libusb-win32(v1.2.6.0),点击 Replace Driver,返回 successful 说明 libusb 安装成功:

关闭 zadig.exe,可在计算机 - 设备管理,查看 J-Link 识别状态:

连接 J-Link 烧写或者调试。

如果此时无法连接上 J-Link,或者烧写调试失败,在选择 J-Link 的 libusb 驱动选择时,尝试选择 libusbK (v3.0.7.0) (由于不同厂家的使用的 J-Link 固件版本不同,libusb-win32(v1.2.6.0)可能无法正常驱动J-Link)。

 

1.3、Mac环境安装

Mac下AliOS-Things开发环境的搭建主要分为两部分:pip和git安装、基于pip安装aos-cube及相关的依赖包。

# 安装pip

$ sudo easy_install pip

# 安装依赖库和aos-cube,步骤如下:

$ python -m pip install setuptools wheel aos-cube

安装完成以后,使用aos --version,查看是否安装成功。

如果显示版本号,如“0.5.11”,则表明安装成功;

如果显示“command not found: aos”,则查看aos-cube的安装路径,并将对应的路径添加到环境变量PATH里。

# 查找aos-cube安装路径

$ find ~ -name aos-cube

/Users/johnny/Library/Python/2.7/bin/aos-cube

# 将python包的安装路径添加到环境变量PATH里。如果使用的是zsh,则更新~/.zshrc;如果使用的是bash,则更新~/.bashrc

$ echo "export PATH=/Users/johnny/Library/Python/2.7/bin/:$PATH" >> ~/.zshrc

# 更新配置

$ source ~/.zshrc

安装git。

# 未安装homebrew,需安装homebrew

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# 安装git

$ brew install git

1.3.1、配置环境变量

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

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

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

# 文件末尾添加环境变量,指向AliOS Things源码目录,并保存退出

echo "export AOS_SDK_PATH=/Users/johnny/Downloads/project/os/AliOS-Things" >> ~/.zshrc

# 使配置立即生效

$ source ~/.zshrc

1.3.2、编译

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

$ aos create project -b haaseduk1 -t helloworld_demo -d tmp myapp

$ cd tmp/myapp

$ aos make

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

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

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

 

2安装VS Code IDE开发工具

2.1、下载/安装 vscode

访问 https://code.visualstudio.com/ 下载并安装vscode

 

2.2、安装AliOS Studio 插件

打开vscode,按照下图所示安装AliOS Studio插件:

2.3、安装 aos-cube

AliOS Studio 依赖 aos-cube,如果想要手动安装 aos-cube 的话,请参考上文的《编译环境安装》章节。

2.3.1、下载代码

git clone https://github.com/alibaba/AliOS-Things.git -b dev_3.1.0_haas

对于国内用户,为避免从github下载速度较慢,可以从gitee上下载。

git clone https://gitee.com/alios-things/AliOS-Things.git -b dev_3.1.0_haas

2.3.2、使用AliOS-Studio 工具栏

AliOS-Studio的主要功能都集中在vscode下方工具栏中,小图标从左至右功能分别是

编译烧录串口工具创建工程清除

AliOS-Studio更详细的使用说明请参考:AliOS Studio

在IDE里“创建工程”,和命令行开发方式创建的工程内容一致。

编译 - Build

左侧的helloworld@starterkit是编译目标,格式遵循应用名字@目标板名字的规则,点击它可以依次选择应用和目标板,参考如下所示进行编译:

 

烧录 - Upload

  1. 通过 USB Micro 线缆连接好开发板和电脑
  2. 点击下方工具栏闪电图标完成固件烧录

Tips: 如果您手上没有可用的开发板,也可以使用线上的开发板做开发调试

 

查看运行状态

  1. 点击下方工具栏插头图标打开串口。第一次连接会提示填写串口设备名和波特率,再次点击可以看到串口输出,同时也可以在这里输入命令进行交互。

串口设置,选择串口和波特率,HaaS EDK K1的波特率是1500000

串口数据收发界面。

 

3、调试

HaaS EDU K1开发板的接口包含SWD仿真调试接口,通过该接口连接J-Link仿真器,配合VS Code调试软件,可以实现在线调试:单步运行、断点等功能。

3.1、硬件调试SWD

硬件接线:将HaaS EDU K1上的SWDIO/SWCLK/GND分别与J-Link仿真器上相应的管脚连接好。

HaaS EDU K1 SWD接口

 

                                                           J-Link仿真器的SWD接口

3.2、软件调试-vscode

3.2.1、安装驱动

为了实现在线调试功能,需要安装J-Link的驱动。J-Link 驱动可在 SEGGER J-Link驱动下载地址 下,选择 J-Link Software and Documentation Pack,选择相应的 J-Link Software and Documentation pack 下载安装:

3.2.2、安装插件

在VS Code里面安装Cortex-Debug插件。在 VS code Extension 栏位搜索 Cortex-Debug 并安装, 如图所示。

3.2.3、修改配置项

在VS Code 打开当前仓库下的.vscode/launch.json文件,增加一个配置项,参考下图设置调试参数。

 

       {

            "cwd": "${workspaceRoot}",

            "executable": "<target elf file>",

            "name": "Debug Microcontroller",

            "request": "launch",

            "type": "cortex-debug",

            "serverpath": "<gdb server path>",

            "servertype": "jlink",

            "device": "Cortex-M4",

            "interface": "swd",

            "armToolchainPath": "<toolchain path>"

        },
  • 其中executable为当前需要调试的elf可执行文件的详细路径;
  • serverpathJLinkGDBServerCL的的详细路径
  • armToolchainPath为toolchain所在的目录。

3.2.4、执行

点击左侧run 按钮,在视窗中选择设置好的名为"Debug Microcontroller"的下拉菜单。然后旁边的绿色三角形图标执行,即可完成Jlink GDB与开发板的连接。

3.2.5、调试

连接成功的界面,可参考下图。其中橙框所示的为调试按钮,依次为:Continue/Step over/Step into/Step out/Restart/Stop。

 

4、烧录

4.1、准备

给HaaS EDU K1上电,USB Type-C口插上usb线并连接到烧录主机,打开开机开关(电源正常的情况下板子右上角LED灯会亮),等待烧录主机发现新插入的usb设备并识别成串口。

当前提供命令行和GUI工具两种烧录方式,开发者可以根据自己的开发电脑平台来选择其一。

4.2、使用命令行方式烧录(MacOS / Linux / Windows 环境)


打开命令行工具,进入到代码顶层目录,然后输入命令aos upload,选择相应的串口即可开始烧录。

烧录成功后,显示“Firmware upload succeed“字样。

烧录成功后,也自动将串口信息保存在当前目录下的.aos_config_burn文件中。如果后续烧录时,串口号有变化,可以删除该文件,再使用aos upload命令烧录。

如果在烧录期间,提示“Please reboot the board manually“,请按复位键复位开发板。

若复位无效,还是一直打印“Please reboot the board manually“,则需要将板子完全断电,再上电,然后重新使用aos upload命令烧录。

4.3、使用GUI工具烧录(仅限于windows)


在windows环境下编译成功后,进入platform/mcu/haas1000/release/write_flash_gui目录,双击运行haas1000_write_flash_main,出现烧录软件的主界面

点击Port Config,出现串口配置界面,点击list,选择设备连接的串口,选择后点击Ok按钮确认关闭串口配置界面;
点击Start All按钮,进入烧录状态,此时烧录状态是Idle,等待设备重启;
短按板子上的重启键或者插拔电源对板子上下电,开始烧录,此时烧录状态是Burning,可以看到烧录的进度;
 烧录成功后(进度是100%),点击Exit,退出即可;

如下所示:

开发者技术支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号

更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/

 

猜你喜欢

转载自blog.csdn.net/HaaSTech/article/details/114285980