[文章]

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连连载】试用从烧录demo开始

2020-10-1 09:45:39  135 Harmony
分享
写在开头:本篇报告有一些遇到的问题和解决方法,但是我觉得最大的坑就是我自己搭建Linux系统的编译环境,导致我连肝了四个晚上,所以Linux环境能下载还是下载吧,在这浪费时间并不是很值得,我觉得连老师配置的更好,奉上连老师的连接
https://bbs.elecfans.com/jishu_1992121_1_1.html
我的仅供大家参考吧。

开箱照

图片1.png
图片2.png
搭建环境
一定要用64bitUbuntu!!!
因为我之前有个别的开发板配套的ubuntu,很好用,sambassh都配置好了,我没怎么注意说明就拿过来用了,开始一顿下载,然后快乐的apt-get.configure&make&make install三连。很快就出现问题了。
图片3.png
出现类似这样的警告,如果有其他的小伙伴也出现,注意一下是不是系统是32bit的。

从头开始
虚拟机安装
安装Ubuntu,我根据官方教程选择了Ubuntu18.04,当时没看到连老师的帖子,否则我绝对不自己装,不过已经开始了,那就继续吧。
软件环境是VM12.0.0
新建一个虚拟机,选择自定义,虚拟机硬件兼容性要选择6.5-7.x,如果选择默认选项,安装会失败。
图片4.png
下一步后,安装客户机操作系统,选择稍后安装操作系统,否则会自动安装,到时候是英文的。附带的软件还比较少。需要后续自己安装。
后面安装位置选一个空闲位置比较大的地方,处理器我设成双核的了,设置别的我知道有啥影响,内存4096MB,网络设置成桥接,60G硬盘这些其实以后再配置也行。
在光盘中添加ubuntu的映像文件,确定后开启此虚拟机。
图片5.png
接着就图形话根据自己需要进行配置语言键盘。更新其他软件界面默认
后面设置时区选上海
磁盘默认
用户名,计算机名可以短点,长了后面嫌麻烦。这里设置harmony-vm,系统开始安装,漫长的等待中。。。
图片6.png
重启后不出意外应该是黑屏了。。。
重新启动,在读条的时候按上下键,进入下面这个页面的时候按e键,
图片7.png
出现下面这个页面,在quiet splash后面添加nomodeset(针对于英伟达的网卡,别的网卡不一样) ,然后按F10会进入系统,这时候就进入界面了,但是刚刚设置是一次性的,需要进入系统再配置启动配置文件。
图片8.png
sudo vim /etc/default/grub  (顺手用apt-get安装了一个vim),在quiet splash后面添加nomodeset,如下图。
图片9.png
保存退出后,更新grub
sudo update-grub
重启,已经可以正常启动系统了。
软件环境搭建
1SSH服务器搭建
https://device.HarmonyOS.com/cn/docs/start/introduce/oem_quickstart_3861_build-0000001054781998
跟着官方文档走,包括我踩过的坑。
想要用PuTTY工具,首先搭建Linux环境,得有ssh服务器才能访问。
先安装一个ifconfig,方便看IP地址,现在Ubuntu不自动安装了,也可以用图形界面设置。
安装ssh服务器,参考下面这个文章
https://blog.csdn.net/liumiaocn/article/details/79427964?utm_source=blogxgwz9
SSH Secure这个软件无法连接,提示如下图
图片10.png
Putty就可以连接,推测是版本问题。
因为我们要用vscode烧录目标代码,所以我使用的不是Putty,而是vscode下面的SSH插件。
用官方推荐的powershell种ssh2.exe是无法访问的,跟上图提示类似。
点击左侧的应用扩展图标搜索ssh,看到一个5星的应用果断安装了。
图片11.png
装完后,出现了左侧出现了一个小钥匙file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml1304/wps13.jpg
点击上面加号,Add SSH Config,按下图配置
图片12.png
Connect后,如无意外,左侧出现Linux下的目录
图片13.png
点击红框部分出来终端
图片14.png
2、上传文件
登陆后将下载好的问文件上传到服务器上,选择要上传文件的位置,右键Upload File
图片15.png
然后搭建环境,其实在Linux下,直接下载搭建也一样方便。
上传好后,主要是以下几个文件
图片16.png
3、配置安装
(1)Linux shell改为bash,按<搭建环境>教程中方法二来,下面两条命令
sudo rm -RF /bin/sh
sudo ln -s /bin/bash /bin/sh

(2)安装Python环境
这版自带的是Python3.6.9 按照要求安装Python3.8
sudo apt-get install python3.8
which python3.8
cd /usr/bin && sudo rm python&& sudo ln -s /usr/bin/python3.8 python && python --version
其中/usr/bin/python3.8which python3.8这个命令的结果
最后显示Python 3.8.x表示安装完成

(下面这个一定要修改,否则后面会出错)
同时删除软连接/usr/bin/python3,指向python3.8
cd /usr/bin &&sudo rm python3&& sudo ln -s python3.8 python3

Python安装完后更新以下内容
l 安装并升级Python包管理工具(pip3
sudo apt-get install python3-setuptools python3-pip -y

sudo pip3 install --upgrade pip
l 安装python模块setuptools
sudo pip3 install setuptools
l 安装GUI menuconfig工具(Kconfiglib
sudo pip3 install kconfiglib
l 安装pycryptodome
$sudo su
#pip3 install pycryptodome
其实这里在我第二次做的时候出错了,导致我又重新走了一遍,其实不是很明确当时错误的原因,因为我sudo pip3 install pycryptodome报错,但是sudo su在执行就可以了,我也很困惑。
l 安装six
sudo pip3 install six --upgrade --ignore-instalLED six
l 安装ecdsa
sudo pip3 install ecdsa

(3)安装Scons
sudo apt-get install scons -y

(4)开始安装刚刚上传的那三个文件,其实就是把三个文件解压到用户目录下
l tar -xvf gn.1523.tar -C ~/
l tar -xvf ninja.1.9.0.tar -C ~/
l tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~/
l vim ~/.bashrc  添加下面这三句
export PATH=~/gn:$PATH
export PATH=~/ninja:$PATH
export PATH=~/gcc_riscv32/bin:$PATH
保存退出
l source ~/.bashrc
l riscv32-unknown-elf-gcc -v  检查安装是否成功
图片17.png

至此Linux下服务器编译环境基本搭完了(还有samba服务器,后面有连老师的连接),用源码包检验一下,上传一个源码包code-1.0.tar.gz
4、编译源码测试
mkdir code-1.0
tar vxzf code-1.0.tar.gz -C code-1.0
cd code-1.0
python build.py wifiiot
中间报错了,说我python版本低,我感觉很诧异,我折腾时间最长的就是python,不知道什么时候被改会2.7的,我只好使用前面的命令重新改回3.8
cd /usr/bin && sudo rm python&& sudo ln -s /usr/bin/python3.8 python && python --version
cd /home/harmony/software/code-1.0/
python build.py wifiiot
出现下图,表示编译成功。
图片18.png
5、Windows端配置
配置完上面的内容,按照下面这个文档进行镜像烧录
https://device.harmonyos.com/cn/docs/start/introduce/oem_wifi_start_helloword-0000001051930719
但是其实这里有个问题就是,ssh模式只适合来回导文件,不能打开工程,最终还是需要samba服务器来打开工程,其实有sambassh的意义并不大唯一的好处就是配置好Linux环境后就不需要在去服务器上操作了。samba配置连老师(连老师的帖子https://bbs.elecfans.com/jishu_1992121_1_1.html)已经写的非常清楚了,这里就不再赘述了。配置完samba之后就,映射静态存储器SSH设置的地方就可以用目标的主机名,好处就是可以使用自动分配IP.

图片19.png
图片20.png
windows只要仔细按照文档一步一步来,基本没坑
下面这个图片是大部分人会遇到的问题,有两种解决方法,一种是将默认的Shell选成系统的cmd.exe
图片21.png
另一种是参考下面这个文档
https://www.jb51.net/article/95022.htm
但是需要以管理员身份运行Vscode,然后执行set-ExecutionPolicy RemoteSigned。但是在管理员身份运行的时候还没办法出现网络磁盘,所有就需要再次退出正常打开Vscode
之后还会提示下面这个内容
图片22.png
默认回车就好,如果再次提示的话,说明NOTE_PATH系统变量没有设置好,重新设置,官方手册里有详细说明。
在之后就可以正常烧写了。为了最后这个界面真是不容易啊。
图片23.png
file:///C:/Users/ADMINI~1/AppData/Local/Temp/ksohtml1304/wps26.jpg







0
2020-10-1 09:45:39   评论 分享淘帖
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发表新帖