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键,系统启动。

欢迎讨论,相互学习。 txwtech@163.com
原文地址:https://www.cnblogs.com/txwtech/p/15086282.html