前言
此次基于OpenHarmony开发板的环境搭建及烧录过程(拓维Niobe开发板)是在参加OpenHarmony开源开发者成长计划的活动中进行学习和探索的一个过程。
由于环境搭建所涉及的领域及组件会比较多,所以我在搭建环境的时候也遇到了不少的问题,也走了不少弯路一遍一遍的错误以及一次又一次从头开始,让我更有决心不达目的不罢休。通过不断的查找资料,观看一些导师的课程,以及不断的尝试和探索,最终完成了环境的搭建以及烧录过程。我觉得我有必要帮助一些像我一样想学习OpenHarmony开发板的同学,所以总结了一些环境搭建的过程,接下来就是环境搭建的操作过程。
一、准备工作(下载工具)
- 下载并安装虚拟机VMware Workstation 。
VMware Workstation Player(免费版)下载地址:https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html。
VMware Workstation Pro(专业版)下载地址:https://www.vmware.com/cn/products/workstation-pro.html。
- 下载Ubuntu20.04镜像。
下载地址:https://releases.ubuntu.com/focal/ubuntu-20.04.4-desktop-amd64.iso。
- 下载并安装MobaXterm工具。
下载地址:https://en.softonic.com/download/moba/windows/post-download。
- 下载并安装RaiDrive工具。
下载地址:https://forspeed.rbread05.cn/down/newdown/5/28/RaiDrive.rar。
- 下载并安装开发板USB驱动。(CH341SER.EXE-CH340/CH341-USB转串口Windows驱动程序)
下载地址:http://www.wch.cn/search?q=ch340g&t=downloads。
- 下载并安装编译器VS Code。
下载地址:https://code.visualstudio.com/。
- 下载烧录工具HiBurn。
下载地址:https://gitee.com/talkweb_oh/niobe/blob/master/applications/docs/tools/HiBurn.exe。
二、部署Linux环境
- 安装Ubuntu(在VMware中安装下载好的Ubuntu20.04)。
- 安装完虚拟机后获取IP地址。
1、新建虚拟机
打开VMware Workstation,点击创建新的虚拟机
2、设置镜像文件
创建新的虚拟机后需要选择IOS映像文件,在虚拟机设置 -> CD/DVD(SATA),然后选择我们下载好的Ubuntu20.04镜像文件的路径。
3、设置网络适配器
在虚拟机设置 -> 网络适配器,网络连接选择NAT模式即可。
4、开启虚拟机,第一次需要安装。
安装完后打开终端获取ip地址。输入语句:ifconfig。
获取IP地址后并记录下来,每个人的IP地址都不一样。
如果获取不成功(虚拟机连不上网络)尝试更换一下网络路径方式:虚拟机 -> 设置 -> 网络适配器 -> 网络路径
*如果查看IP地址的时候出现以下情况:
- 根据提示,使用sudo apt install net-tools 命令,安装网络工具。
- 如果还不行也可以安装一下VMware tools工具。
三、使用远程链接工具MobaXterm链接服务器
在MobaXterm工具里 Session -> SSH 输入信息,远程地址(获取到的IP地址)。
- 输入相关信息登录。
输入相关信息登录。
- login as:输入虚拟机用户名
- Password:输入虚拟机
成功登录后如下:
四、使用RaiDrive工具将Linux文件远程映射到Windows上
将RaiDrive工具切换为中文语言。
点击添加:
- 选择NAS -> SFTP
- 取消勾选只读
- stfp:// (此处填写:获取到的IP地址)
- 输入虚拟机的账号
- 确定
打开:
在我的电脑里面的网络位置可以看到配置好的SFTP。
五、安装samba服务共享文件夹
1.在/home/niobe/目录下新建一个文件夹命名为niobecode。
2.配置niobecode文件夹的读写权限。
3.将新建的niobecode文件夹配置到/etc/samba/smb.conf中。
- 使用spt-get安装
- 查看sanba版本,以及是否安装成功
- 进入smb.conf文件配置
- 在smb.conf文件最后加上以下语句
- 按下ESC后保存并退出
- 设置samba
- 重新启动samba
4.右键我的电脑 -> 映射网络驱动器 -> 输入IP地址,把共享文件夹映射到本地。
4.在我的电脑里面的网络位置可以看到niobecode文件夹。
六、获取源码
首先注册好Gitee账号。
进入共享文件夹niobecode。
先安装git。
使用 git https的下载方式。
七、配置docker编译环境
1.添加docker的官方GPC密钥。
2.添加仓库。
3.安装docker。
4.运行测试docker。
运行成功结果:
5.获取docker镜像。
*这里注意一点就是:
如果安装完docker后,执行docker相关的命令,出现以下报错:
原因分析:可能就是docker 进程使用 Unix Socket 而不是 TCP 端口。
在默认情况下,Unix socket 属于 root 用户,需要 root 权限才能访问。
解决方法:
- 方法1:使用 sudo 获取管理员权限,运行 docker 命令时在前面加上 sudo。
- 方法2:docker 守护进程启动的时候,会默认赋予名字为 docker 的用户组读写 Unix socket 的权限,因此只要创建 docker 用户组,并将当前用户加入到 docker 用户组中,那么当前用户就有权限访问 Unix socket 了,进而也就可以执行 docker 相关命令了。
具体操作命名如下:
八、查看代码
在windows下,打开共享文件夹niobecode,将niobe文件夹直接拖拽到 VS code上即可打开代码。
九、编译代码
进入docker环境来编译源码。
Niobe使用的是小型系统的docker编译环境:docker-openharmony:0.0.5。
进入niobecode文件夹(OpenHarmony代码的根目录下)执行命令进入Docker构建环境。
*此时已经在Docker编译环境下。
- 编译hb文件
1.输入命令:
2.输入命令:
*设置工作目录。
3.输入 :
*输入源码所在目录,点(.)表示当前目录。
4.通过回车确定选择,选择talkweb niobe_wifi_iot开发板。
5.输入命令:
执行编译。
*出现 build success 说明编译成功。
十、连接开发板并查看串口号
- 安装CH340驱动。
- 使用TypeC数据线,将拓维niobe开发板与电脑连接起来。
- 连接电脑时需要注意将虚拟机捕获USB的功能关闭。(会导致Windows查看不到串口)
- 查看串口号
我的电脑–>右键–>管理–>设备管理器–>端口(COM和LPT)–>USB-SERIAL CH340(COMx)
十一、烧录程序
在Windows下打开Hiburn工具。
- 点击Refresh就会出现串口号。
- 点击Setting,选择 Com settings。
- 在Com settings中设置Baud为:921600,点击确定。
- 点击Select file,在弹出的文件框中,选择路径,并选中:Hi3861_wifiiot_app_allinone.bin 文件。
- 点击Auto burn复选框,然后点击Connect,此时Connect按钮变成Disconnect。
- 按一下开发板上的复位按钮,开始烧录程序。
- 出现Execution Successful字样,程序烧录完成。
- 烧录完后,点击Disconnect按钮断开连接,便于后面调测使用。
十二、查看串口打印日志
- 打开MobaXterm 点击:Session、Serial按钮。
- 设置Seral port为 Hiburn 同一个串口
- 设置Speed为 115200
- 点击OK
- 如果显示Unable to open…等字样,需要看一下Hiburn的链接状态是否为Disconnect。
- 复位开发板,此时COM打印出对应日志信息供查看。
SUCCESS!到此我们已经搭建好编译环境,并且成功的将代码烧录到开发板上并且能够正常的运行了!