zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    SQL中存储过程与自定义函数的区别
    内置函数
    正则表达式
    HTML发展史
    触发器
    事务
    视图
    索引的使用
    存储过程和自定义函数的区别
    游标用法
  • 原文地址:https://www.cnblogs.com/txwtech/p/15086282.html
Copyright © 2011-2022 走看看