neptune HarmonyOS开发板视频教程-环境搭建-编译-烧录-外设控制
NepTune模组简介
https://www.bilibili.com/video/BV1hV411H7pL?from=search&seid=13232107053180442308
配置Linux环境
https://www.bilibili.com/video/BV1cZ4y1w72f?from=search&seid=13232107053180442308
源码下载与编译
https://www.bilibili.com/video/BV1B54y1b7av?from=search&seid=13232107053180442308
镜像烧写
https://www.bilibili.com/video/BV1zp4y187zm?from=search&seid=13232107053180442308
Demo演示
https://www.bilibili.com/video/BV1rX4y1g7rN?from=search&seid=13232107053180442308
https://www.bilibili.com/video/BV1Wb4y1D79J?from=search&seid=13232107053180442308
#Neptune模组Ubuntu下使用操作手册
## 介绍
本文档介绍Neptune模组的开发环境搭建、版本编译构建、烧录、源码修改、调试验证等方法。通过学习,开发者会对Neptune模组开发流程有初步认识,并可上手业务开发。
```
因本人使用mbp,切换linux、win只能使用虚拟机,使用虚拟机情况下,win根据官方操作一直进不了烧写模式,所以有下文:
环境:
macOS Big Sur 11.3.1
Parallels Desktop 16 for Mac
Ubuntu 20.04.2 LTS
python 3.8
**主要是在Ubuntu下操作**
操作流程参照B站:https://www.bilibili.com/video/BV1dq4y1f77k
ubuntu下Xmodem烧写参照:https://blog.csdn.net/u010925447/article/details/58049130
从官方淘宝店购买到手的Neptune通电会闪灯,同时会向串口发出闪灯状态文本,这有利于确认是否与ubuntu连通。
根据B站up主视频,Neptune编译环境跟海思hi3861基本一致,因Neptune使用了w800芯片,该芯片使用的是c-sky指令集,所以需要配置交叉编译环境。
```
我的环境统一在~/Downloads/HarmonyOS下面
![image-20210523235759426](./Neptune模组Ubuntu下使用操作手册图片/image-20210523235759426.png)
## 参考网址
```
W800官网:http://www.winnermicro.com/html/1/156/158/558.html
鸿蒙官网:https://device.harmonyos.com/cn/home
润和HiHope社区:https://gitee.com/hihopeorg
```
## 代码下载
```bash
git clone git@gitee.com:hihopeorg_group/neptune-harmony-os1.1-iot.git
```
## 编译
### 编译工具链
工具包名:csky-elfabiv2-tools-x86_64-minilibc-xxxxx.tar.gz
下载地址:https://occ.t-head.cn/community/download
选择 工具 - 工具链-800 Series 中相应的版本
下载完成后将工具包拷贝到相应的目录下,如~/Downloads/HarmonyOS
解压后,配置环境变量
操作命令:
```
cp csky-elfabiv2-tools-x86_64-minilibc-xxxxx.tar.gz /Downloads/HarmonyOS
cd /Downloads/HarmonyOS
tar xzvf csky-elfabiv2-tools-x86_64-minilibc-xxxxx.tar.gz
```
在~/.bashrc文件的最后一行添加
```
export PATH=~/Downloads/HarmonyOS/csky-elfabiv2-tools-x86_64-minilibc-xxxxx/bin:$PATH
```
###### 备注:如若没有配置过WiFIOT环境,请先配置如下环境
安装python3.7以上,我这里使用ubuntu自带的python3.8
```bash
# python包安装
apt-get install -y --no-install-recommends python3-distutils python3-pip
# 下载gn/ninja包
URL_PREFIX=https://repo.huaweicloud.com/harmonyos/compiler
DOWNLOAD_DIR=~/Downloads # 下载目录,可自行修改
TOOLCHAIN_DIR=~/Downloads/HarmonyOS/toolchain # 工具链存放目录,可自行修改
[ -e $DOWNLOAD_DIR ] || mkdir $DOWNLOAD_DIR
[ -e $TOOLCHAIN_DIR ] || mkdir -p $TOOLCHAIN_DIR
wget -P $DOWNLOAD_DIR $URL_PREFIX/gn/1523/linux/gn.1523.tar
wget -P $DOWNLOAD_DIR $URL_PREFIX/ninja/1.9.0/linux/ninja.1.9.0.tar
# 解压gn/ninja/包:
tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/gn.1523.tar
tar -C $TOOLCHAIN_DIR/ -xvf $DOWNLOAD_DIR/ninja.1.9.0.tar
# 向 ~/.bashrc 中追加gn/ninja路径配置:
export PATH=~/Downloads/HarmonyOS/toolchain/gn:$PATH
export PATH=~/Downloads/HarmonyOS/toolchain/ninja:$PATH
# 生效环境变量
source ~/.bashrc
###
```
### 安装编译工具hb
下载源码后进入终端,进入源码根目录,执行:
```bash
cd ~/Downloads/HarmonyOS/neptune-harmony-os1.1-iot/
python3 -m pip install --user build/lite
```
```bash
export PATH=~/.local/bin:$PATH # 用户pip二进制工具目录
source ~/.bashrc # 生效环境变量
```
安装完毕后,执行hb -h,确认安装成功
详细命令参照帮助文档或参照https://gitee.com/hihopeorg_group/neptune-harmony-os1.1-iot/tree/master/build/lite
设置hb,还是在源码根目录,执行hb set,进入默认设置流程
1、设置源码目录,因我们在源码根目录下执行命令,所以直接输入“.”,表示当前目录
2、选择“wifiiot_neptune@winnermicro”
使用hb命令指定gcc编译(默认是clang,我这里怎么配置都不行,遂使用gcc),执行hb build -f -c gcc ,等待编译直到出现“wifiiot_neptune build success”表示编译成功,否则根据提示处理。
编译完毕后会生成w800.img文件,路径:~/Downloads/HarmonyOS/neptune-harmony-os1.1-iot/device/winnermicro/neptune/sdk_liteos/bin/w800
【6:21】
## 烧写镜像
## Ubuntu 烧写工具
工具包名:minimum
安装命令:sudo apt-get install minicom
安装Xmodem协议:sudo apt-get install lrzsz
工具使用:
安装后输入 sudo minicom -s 一定要sudo
![image-20210523233939852](./Neptune模组Ubuntu下使用操作手册图片/image-20210523233939852.png)
使用方向键 选择 Serial port setup,按Enter键,进入设置环境,如下图
![image-20210523234014771](./Neptune模组Ubuntu下使用操作手册图片/image-20210523234014771.png)
输入a或者A,选择串口设备,我这里是/dev/ttyS0(按网上设置的ttyUSB0怎么都不行,也许是虚拟机和真机区别)按图配置波特率,Hardware Flow Control一定要关闭,不然看不到升级进度,都配置完后,按下Enter键返回上一界面,选择save setup as dfl(即将其保存位默认配置),再选择Exit,关闭minicom。
###### 备注:可以在此处设置上传文件的路径(有长度限制),设置完毕后下面烧写时输入文件名即可,否则需要选择全路径
再次输入命令 sudo minicom,虚拟机上断开重新连接串口,即可看到开发板串口有输出。
至此,开发板和ubuntu串口连通成功。
### 烧写方式
在ubuntu终端按住ESC,主板按下RST键,工具界面出现ccccc时,则进入了刷机模式,按ctrl+a,再按z
![image-20210523234613904](./Neptune模组Ubuntu下使用操作手册图片/image-20210523234613904.png)
按下s,选择Send files
![image-20210523234812975](./Neptune模组Ubuntu下使用操作手册图片/image-20210523234812975.png)
选择 xmodem,选择路径,用上下箭头键选择目录,双击空格键进入目录,找到w800.img文件
![image-20210523235155486](./Neptune模组Ubuntu下使用操作手册图片/image-20210523235155486.png)
空格选中,左右方向键选择 [Okay] 按下回车即可,我这里编译出来的w800.img是581k,等待烧写完毕即可。
![image-20210523235427762](./Neptune模组Ubuntu下使用操作手册图片/image-20210523235427762.png)
烧写成功后,工具界面依然出现ccccc,这时按下RST键,系统启动。