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下面

## 參考網址
```
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

使用方向鍵 選擇 Serial port setup,按Enter鍵,進入設置環境,如下圖

輸入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

按下s,選擇Send files

選擇 xmodem,選擇路徑,用上下箭頭鍵選擇目錄,雙擊空格鍵進入目錄,找到w800.img文件

空格選中,左右方向鍵選擇 [Okay] 按下回車即可,我這里編譯出來的w800.img是581k,等待燒寫完畢即可。

燒寫成功后,工具界面依然出現ccccc,這時按下RST鍵,系統啟動。