[浩瀚银河]鸿蒙操作系统硬件开发板AICamera全实测


注意!2020年11月2日,開始更新“鴻蒙操作系統系列”。並開始“簡體繁體”同步更新。将从此篇开始~

由于此次工程量巨大,简体文章第一优先,繁体文章后续update!

  • 让我们把时光,回到2020年10月。

我从电子发烧友众筹平台上面,淘来了Hi3516 AICamera开发板,和Hi3861 WiFi-iOT开发板。其实在这之前,我是从淘宝来的,很快撤单来众筹了~

作为我目前第三块、第四块开发板,它们比我前面现存的两块(树莓派3b+ & Nvidia),还要意义巨大、且是我目前最需要深刻钻研的两块板。

首先,这两块,都是搭载了海思自研的Hi3516、Hi3861。

Hi3516,ARM架构双核A7 900Mhz。支持LinuxOS、LiteOS和鸿蒙操作系统。这块AICamera开发板,自带了1GB DDR3内存,最大1.8Gbps数据速率。其次,还有个emmc4.5 8GB,还可以外部扩展(可惜了厂商没焊接)。

......(还有很多很多我就不说了,点我查看可以了解更多信息哦)

由于备案原因,这个系列,其实迟到了足足一个月了(备案期间浩瀚银河网站文章一直以来都没有更新)

现在来了,那么我们,就从最基础的开始吧

Zero.开箱(开盒子)其实这个是我的锅了,没拍那么多,只拍了一张安装时的画面哈哈哈哈(坏了啦)

当然,这一整套,不仅仅这些板子、显示器和亚克力板那么简单呢!
还有个大电源哈哈~5V3A,好大!!好大!!

就这样吧,Zero过!

First.体验鸿蒙操作系统(不急着烧和折腾哈哈哈先尝鲜!)

总的来说,鸿蒙操作系统在这个1G、2H 900Mhz,虽然会有卡顿(不知道是不是输出能力全给了相机的因素,显示意外的卡顿)板载HarmonyOS1.0(IPOP串口连接uname -a会显示LiteOS2.0)

就这样吧~也测不了多少,总不可能安排跟安兔兔一样的吧(哈哈哈把玩机思想带到这里来了)

Second.为鸿蒙开发板配置一下环境(来了来了)

我选择的环境是VMware+(Windows10+Ubuntu20.04.1),因为我第一次配置时,在主机配置乱七八糟了哈哈哈,我可不希望用这些时间打扫战场~

所以接下来我呢,就需要使用VMware老朋友了!(老虚拟机了,有事没事虚拟机见招!)

在Windows上,需要VScode、配套VScode的华为鸿蒙Device Tool、Ubuntu(WSL)、IPOP(SSCOM)串口工具。

链接的话,在下面哦!↓↓

VScode:下载地址
华为鸿蒙Device Tool:下载地址
Ubuntu(WSL):下载地址

下载好了这些,我们就可以开始我们的配置了。(我自己还加装了Terminal Preview,美化嘛舒服舒服,详情请点击我!)

首先,我们进入Ubuntu(WSL),如果希望自己免密码登录ROOT,等弹出WSL后,再慢慢卡退。重新打开就可以免密码登录ROOT了。

当然我知道一定会有人会把su root打的很习惯很舒服~所以如果您是属于这类人,老老实实设置普通账号密码,创建ROOT管理员账户可以自行百度(篇幅原因不做介绍)

首先,我们设置软件源。WSL有一个很好的点在于输入以下explorer.exe .就可以打开资源管理器,我们直接进入/etc/apt/sources.list直接VScode修改。如果遇到权限问题,删除文件重新编写。

我这里使用的软件源是清华源,我的配置情况如下:

配置好了软件源后,我们sudo apt-get update,同步一下~

根据官网要求,我们需要安装Python3.8、gn、ninja、LIVM、hc-gen需要的构建工具。

但是在这些开始之前,我们得先把Linux shell改成bash。

ls -l /bin/sh (这行是查看是否为bash,非bash请按照下面操作~)

sudo dpkg-reconfigure dash(在终端使用这行命令,选择no)

sudo rm -rf /bin/sh
sudo ln -s /bin/bash /bin/sh(先删除sh再创建软链接)

这个设置好后ls -l /bin/sh再看看是否为bash。可以的话,再开始Python等等的一个个软件安装~

Python3.8安装很简单的,python3 --version先查询是否自带了Py3,如果没有如下操作请学会:

  1. 介于WSL给予的通过命令直通Win资源管理器,我们可以直接在桌面下载Python的tgz,tar -zxvf *.tgz后,我们直接移动到WSL里(注意!这里tar命令建议在Powershell里使用,打开管理员!打开管理员!打开管理员!)
  2. 然后

sudo apt-get install gcc && sudo apt-get install g++ && sudo apt-get install make && sudo apt-get install zlib* && sudo apt-get install libffi-dev

(注意一下,虽然我当时安装时,我很清楚我Ubuntu+18了,但是我为了保证整个过程不要出问题,所以还是安装了)

  1. cd Python-3.8.5 && sudo ./configure && sudo make && sudo make install

此时,我们再去查询python3 --version看看是否安装OK。OK了开始下面操作。

  1. which python3.8
  2. 后面我们需要安装Pip3了。

sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip

如果这里无法安装的话,可能是Python安装时没有设置SSL。

当然也有可能是PIP源不好~PIP源切换讲讲哈!(我使用的是豆瓣源)

一些国内的pip安装源:

阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

还有一种就是没有安装SSL模块,下面指令打起来~

sudo apt-get install openssl
sudo apt-get install libssl-dev

如果是安装Py3,import ssl打完可能会回显no moudle named _ssl

用Py2就能回显了,说明已经安装了,但此时Py3没有SSL模块嘛,那么我们重新来安装!

cd Python-3.8.5
sudo ./configure --with-ssl
sudo make
sudo make install

到这里,Py3和Pip肯定安装好了!那么接下来开始我们其他的七七八八安装~

sudo pip3 install setuptools

sudo pip3 install kconfiglib(GUI menuconfig工具)

如果上面安装不行,请使用下面安装方法:

下载.whl文件(例如:kconfiglib-13.2.0-py2.py3-none-any.whl)。
下载路径:“https://pypi.org/project/kconfiglib#files

运行如下命令,安装.whl文件。
sudo pip3 install kconfiglib-13.2.0-py2.py3-none-any.whl

最后的最后,我们安装文件打包工具:
运行如下命令,安装dosfstools。
sudo apt-get install dosfstools
运行如下命令,安装mtools。
sudo apt-get install mtools
运行如下命令,安装mtd-utils。
sudo apt-get install mtd-utils

这里跟各位交个底,好像华为官网给各位安装的PIP软件,缺少一些,如果出Bug了关于PIP软件的。请按照我的来查缺补漏!
(pip list)左侧软件名字,右侧版本,可能版本会不一致。

ecdsa——0.16.0
kconfiglib——14.1.0
pip——20.2.3
pycrypto——2.6.1
setuptools——47.1.0
six——1.15.0
wheel——0.35.1
xdevice——0.0.0(好像安装了啥软件就有了不用刻意安装)

Second.1 还有最后四个编译工具!

  • gn工具

下载gn(华为仓库)
(解压tar包)tar -xvf gn.1523.tar -C ~/
(vim设置环境变量)vim ~/.bashrc
(最后一行添加,完成后:wq!保存)export PATH=~/gn:$PATH
(生效)source ~/.bashrc

  • ninja工具

下载ninja(华为仓库)
(解压tar包)tar -xvf ninja.1.9.0.tar -C ~/
(vim设置环境变量)vim ~/.bashrc
(最后一行添加,完成后:wq!保存)export PATH=~/ninja:$PATH
(生效)source ~/.bashrc

  • LLVM编译工具链

下载LLVM(华为仓库)
(解压tar包)tar -xvf llvm-linux-9.0.0-34042.tar -C ~/
(vim设置环境变量)vim ~/.bashrc
(最后一行添加,完成后:wq!保存)export PATH=~/llvm/bin:$PATH
(生效)source ~/.bashrc

  • hc-gen

下载hc-gen(华为仓库)
(解压tar包)tar -xvf hc-gen-0.65-linux.tar -C ~/
(vim设置环境变量)vim ~/.bashrc
(最后一行添加,完成后:wq!保存)export PATH=~/hc-gen:$PATH
(生效)source ~/.bashrc

如图所示我的~/.bashrc:

Third.安装IDE

这个再简单不过了,VScode直接选择vsix安装~

然后重启就有IDE了!

Fourth.Node Npm Hpm配置

先别急着下载code包烧写呢,还缺少东西~

先安装nodejs吧Nodejs官网(别忘记设置变量,百度去!我不写了)

安装完,node -v查询版本。由于我们的node在Windows安装的,所以涉及到HPM、NPM、NODE的东西,全都得要在Windows设置,全都得要使用Powershell!

然后打开powershell,我们安装HPM!

npm install -g @ohos/hpm-cli

安装完成后hpm -Vhpm --version查询版本。

然后也按照我的NPM HPM安装吧~
tftp——@0.1.2
serialport——@9.0.1
@serialport/parser-readline——@9.0.1
windows-build-tools——@5.2.2

这里还得要跟各位交个底,我网络原因导致windows-build-tools需要使用cnpm淘宝源安装,所以如果那个安装不了的,请查资料怎么部署cnpm

一般安装了这些,编译就可以开搞了。

对了,这里再插个嘴,应该你们也会遇到一个大问题!

无法加载文件 **.ps1,因为在此系统中禁止执行脚本。

这里的话,我有两种解决方法:

  1. 删除*.ps1文件。
  2. 在powershell中执行 set-ExecutionPolicy RemoteSigned,选择Y。(管理员!管理员!管理员!)

Fifth.烧写编译(隆重的第一步)(hi3516code

在WSL里,我们直接编译它!

(记住进入code文件夹里!)

python build.py ipcamera_hi3516dv300 -b debug

这个编译我第一次跑了好久,起码十分钟。所以还需要大家耐心等待,要跑1300+文件!

这个截图界面,我是在VScode终端里面截图的,如果你像我一样可以自行搭建上面操作了,那么我觉得你可以把操作搬进VScode了。

又到了插嘴时间了,这里你们也有遇到过一个小事情值得提醒~

我想屏幕前的你也有遇到过(不知道HI3516会不会遇到,因为这个BUG来自hi3861,然后我再配置hi3516的,蛮说吧)

把demo文件夹(VScode生成的文件或者hpm华为下载的demo,放入WSL/root文件夹里)放入root里。

就可以解决了~。code文件夹在桌面其实没事的,demo一定要在WSL/root里!

那么烧写也统在一起讲吧~(因为编译这个只要前面好起来,就没事了。就是烧写很头疼的!)

烧写我是使用HiTool工具。由于我虚拟机的原因,VScode烧写会容易认169.X.X.X的IP,很不利于我烧写。所以这次忍痛使用非VScode方案烧~

首先先介绍一下我的烧写网络环境吧~

路由器IP:192.168.2.1
AIC的IP(对应HiTool的板载IP):192.168.2.0
AIC的网关设置(对应HiTool的板载网关):192.168.2.1
子网掩码:255.255.255.0(C类局域网,不用考虑直接抄!)
物理地址看软件怎么自动就怎么来!

那么怎么设置到AIC里呢?前面我们提到过IPOP这个串口软件,现在我们用IPOP来进入AIC的镜像运行~

我们使用IPOP,串口连接好。断电再上电,此时会弹出一个东西:

按Enter进入镜像了。我们输入如下命令即可完成设置。
setenv serverip 192.168.2.1
setenv ethaddr 00:36:85:fa:c2:d0
setenv ipaddr 192.168.2.0
setenv netmask 255.255.255.0
setenv gatewayip 192.168.2.1
(来自电子发烧友HonestQiao的PDF设置,这里感谢一下他的指导~)安利一下对方论坛文章好吗?

然后接下来输入pri即可返回结果。

接着我们ping一下主机。一般出现host 192.168.2.1 is alive就代表了Ping成功,AIC和主机连接很正常。

注意!这里如果Ping不通的,但是又是路由器/直连设置。请暂时关闭网卡防火墙。

控制面板系统和安全Windows Defender 防火墙自定义设置

我电脑是有线和无线网卡共存的,分开专用和公用。单独设置防火墙关闭即可!

走到了这里,就可以接下来的烧入烧写了!

这是我设置的路径,实际还得按自身参考~

然后点击烧写,断电,上电。即可。

可以的话,就可以烧写OK了。

如果是HiTool板载设置没搞清楚,那么就会出现69端口问题。重新排查。

我就遇到了这个问题,至于你们还遇到了啥,请参考上方PDF!

然后最后多嘴一个你们遇得到的问题,就是开机进不去系统。这时候需要镜像进入,设置一下uboot了。

setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000";

读取FLASH起始地址为0x800(单位为512B,即1MB),大小为0x4800(单位为512B,即9MB)的内容到0x80000000的内存地址,该大小(9MB)与IDE中所填写OHOS_Image.bin文件大小必须相同。

setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=15M rw";

表示设置启动参数,输出模式为串口输出,波特率为115200,数据位8,rootfs挂载于emmc器件,文件系统类型为vfat,
“rootaddr=10M rootsize=15M rw”处对应填入rootfs.img的烧写起始位置与长度,此处与IDE中新增rootfs.img文件时所填大小必须相同。

saveenv

表示保存当前配置。

reset

表示复位单板。

好了,以上就是鸿蒙操作系统硬件开发板AICamera全实测文章了。如果您喜欢这一文章,可以分享出去让更多的人看到哦!还烦请大家感谢一下上方PDF作者呢!那么各位,我们繁体字版本再见!

声明:浩瀚银河 Powered-By-Lin.孟|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA 4.0协议进行授权

转载:转载请注明原文链接 - [浩瀚银河]鸿蒙操作系统硬件开发板AICamera全实测


2020.11.22 即日起使用百度搜索“浩瀚银河”,即可找到本网站!欢迎大家使用百度搜索!