现在市情上支持OpenHarmony的开拓板已经比较多了,比较常见的有HiSpark、小熊派系列。这些开拓板都是基于海思的Hi3861、Hi3516或Hi3518芯片的。只管每一个芯片和对应开拓板不是特殊贵,也大量购买也须要不小的本钱。例如,基于Hi3861的HiSpark开拓板大概50元旁边,与Arduino开拓板的价格相称,以是购买大量Hi3861开拓板,本钱还是很大的。
HiSpark(Hi3861)开拓板
幸好现在有很多替代品,OpenHarmony也不仅仅只能在海思系列芯片上运行。润和推出的Neptune便是一款基于非海思芯片的开拓板,而且价格只有9.9元。

Neptune开拓板
Neptune是一款基于w800芯片的开拓板,w800是由“北京联年夜德微电子有限任务公司(Winner Micro)”推出的一款芯片,基于C-SKY架构的用于物联网的32位芯片。
C-SKY是RISC-V基金会成员,C-SKY架构是由“杭州中天微系统有限公司”自主设计的,以是C-SKY是土生土长的由国人设计的CPU架构。C-Sky自己的嵌入式CPU的生产工艺从0.13毫米到28纳米不等。C-SKY还有望被添加进LInux内核,成为Linux内核原生支持的CPU架构。阿里巴巴在2017年入股了“杭州中天微系统有限公司”。
在Neptune上开拓运用,与基于Hi3861芯片的开拓板基本类似,但会有一些差异,请读者关注后续的文章。
2. 配置开拓环境
Neptune支持两种开拓环境:Ubuntu Linux和Docker。本文采取Ubuntu Linux进行讲解。推举利用Ubuntu Linux 20.04或以上版本。
Neptune利用Hi3861的开拓环境即可,以是首先要按官方文档配置Hi3861的开拓环境,如果读者不想自己配置,可以通过下面的网盘地址下载Ubuntu Linux 20.04的VMWare虚拟机镜像:用户名:Pegasus;密码为:pegasus
https://pan.baidu.com/s/1uiiCpbJqViGb7Qs6HdCb8g 提取码: ddab
由于W800须要利用C-SKY指令集,以是须要到下面的地址下载支持C-SKY架构的交叉编译器:
https://occ.t-head.cn/community/download?id=3885366095506644992
下载下面的文件,然后解压,并在/etc/profile文件中设置PATH环境变量即可。
3. 编译Neptune源代码
利用Neptune开拓板的第一步便是下载OpenHarmony源代码,编译源代码以及烧录编译天生的固件。
Neptune开拓板利用的OpenHarmony源代码须要分外适配,目前已经升级为最新的OpenHarmony 1.1,大家可以到下面的网址下载。
https://gitee.com/hihopeorg_group/neptune-harmony-os1.1-iot/tree/master
下载完源代码后,在Ubuntu Linux中解压,然后在终端进入。
接下来实行hb set命令,然后在Input code path:后面输入一个点(.),在涌现的列表中,通过高下箭头选择末了一个,如下图所示。
末了按回车键,将当前编译版本切换到Neptune,如下图所示。
编译源代码须要利用hb build -f命令。如果输出wifiiot_neptune build success,表示编译成功,如下图所示。
4. 烧录固件
源代码编译成功后,进入下面的目录:
<OpenHarmony源代码根目录>/device/winnermicro/neptune/sdk_liteos/bin/w800
在该目录中有一个w800.img文件,如下图所示。该文件便是要刷的固件。
刷固件须要在Windows下完成(推举Windows10),在刷固件之前,须要共享VMWare Ubuntu Linux中的源代码目录,然后在windows中映射为驱动器。
按下面步骤烧录固件:
第1步:运行下面选中的程序
启动程序后,会弹出如下的窗口,选择开拓板对应的com口,本例是com6。然后点击connect按钮。
第2步:设置传输率
进入软件后,点击Options -> Session Options菜单项,弹出下面的对话框,选择115200传输率。
第3步:让开发板进入刷固件模式
首先按住键盘的ESC键,然后再按开拓板的RST键,软件中就会连续输出C,如下图所示。这表明开拓板已经进入了刷固件模式。
第4步:选择固件文件
点击Transfer->Send Xmodem菜单项,选择w800.img文件,开始刷固件。刷机过程如下所示。
到100%后刷固件成功,如下所示。
第5步:重启完成刷固件
再次按开拓板的RST键,重启开拓板,运行新的固件,刷固件完成,重启会输出如下信息:
在后续的文章中,我会陆续推出利用Neptune开拓板以及其他鸿蒙开拓板的干系IoT开拓课程,敬请关注。