当前位置: 首页 > 科技观察

基于OpenHarmony开发板(拓维Niobe开发板)的环境搭建及烧录过程

时间:2023-03-20 15:37:23 科技观察

更多开源内容请访问:开源基础软件社区https://ost.51cto.com。前言基于OpenHarmony开发板(拓维Niobe开发板)搭建和烧写环境的过程,是在参与OpenHarmony开源开发者成长计划活动中学习探索的过程。由于环境搭建会涉及到很多领域和组件,我在搭建环境的时候也遇到了很多问题,也走了很多弯路,一次次犯错误,一次次从头开始,这让我更加坚定在达到目标之前不要放弃。通过不断的查找资料,看一些导师的课程,不断的尝试和探索,最终完成了环境搭建和烧录过程。我觉得有必要帮助一些像我一样想要学习OpenHarmony开发板的同学,所以总结了一些环境搭建的过程,接下来就是环境搭建的操作流程了。一、准备工作(下载工具)下载并安装虚拟机VMwareWorkstation。VMwareWorkstationPlayer(免费版)下载地址:https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html。VMwareWorkstationPro(专业版)下载地址: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。下载并安装编译器VSCode。下载地址:https://code.visualstudio.com/。下载烧录工具HiBurn。下载地址:https://gitee.com/talkweb_oh/niobe/blob/master/applications/docs/tools/HiBurn.exe。2、部署Linux环境,安装Ubuntu(在VMware中安装下载的Ubuntu20.04)。安装虚拟机后获取IP地址。1.新建虚拟机打开VMwareWorkstation,点击新建虚拟机2.设置镜像文件新建虚拟机后,需要选择IOS镜像文件,进入虚拟机设置->CD/DVD(SATA),然后选择我们下载的Ubuntu20.04镜像文件的路径。3.在虚拟机设置->网络适配器中设置网络适配器,网络连接选择NAT模式。4.开启虚拟机,首次安装。安装完成后,打开终端获取ip地址。输入语句:ifconfig。拿到IP地址记录下来后,每个人的IP地址都不一样。如果获取不成功(虚拟机无法连接网络),尝试更改网络路径:虚拟机->设置->网络适配器->网络路径*如果查看IP地址出现如下情况:根据提示符下,使用sudoaptinstallnet-tools命令安装网络工具。如果没有,您也可以安装VMware工具。3.使用远程链接工具MobaXterm链接服务器在MobaXterm工具Session->SSH中,输入信息和远程地址(获取的IP地址)。输入相关信息登录输入相关信息登录loginas:输入虚拟机用户名Password:登录成功后输入虚拟机如下:4.使用RaiDrive工具远程映射Linux文件到Windows并切换将RaiDrive工具翻译成中文。点击添加:选择NAS->SFTP取消勾选只读stfp://(这里填写:获取的IP地址)输入虚拟机的账号,确认打开:在我的电脑SFTP中可以看到配置的网络位置.五、安装samba服务共享文件夹1、在/home/niobe/目录下新建文件夹niobecode。2、配置niobecode文件夹的读写权限。sudochmod777/home/niobe/niobe_code3.在/etc/samba/smb.conf中配置新建的niobecode文件夹。使用spt-get安装sudoapt-getinstallsamba查看samba版本,samba是否安装成功进入smb.conf文件配置sudovi/etc/samba/smb.conf添加如下语句[niobecode]注释在smb.conf文件的末尾=samba主目录path=/home/niobe/public=yesbrowseable=yespublic=yeswriteable=yesreadonly=novalidusers=niobecreatemask=0777directorymask=0777#forceuser=nobody#forcegroup=nogroupavailable=yes按ESC后保存并退出:wqsetsambasudosmbpasswd-anioberestartsambasudoservicesmbdrestart4。右击我的电脑->映射网络驱动器->输入IP地址,将共享文件夹映射到本地。4、在我的电脑的网络位置可以看到niobecode文件夹。6.要获取源码,首先要注册一个Gitee账号。输入共享文件夹niobecode。cd/home/niobe/niobecode首先安装git。sudoaptinstallgit使用githttps的下载方式。gitclonehttps://gitee.com/talkweb_oh/niobe.git七、配置docker编译环境1、添加docker官方GPC密钥。卷曲-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudogpg--dearmor-o/usr/share/keyrings/docker-archive-keyring.gpg2.添加仓库。echo"deb[arch=amd64signed-by=/usr/share/keyrings/docker-archive-keyring.gpg]https://download.docker.com/linux/ubuntu$(lsb_release-cs)稳定版"|sudotee/etc/apt/sources.list.d/docker.list>/dev/null3.安装docker。sudoapt-getupdatesudoapt-getinstalldocker-cedocker-ce-clicontainerd.io4.运行测试docker。sudodockerrunhello-world运行成功结果:来自Docker的你好!这条消息表明你的安装似乎工作正常。为了生成这条消息,Docker采取了以下步骤:1.Docker客户端联系Docker守护进程。2.Docker守护进程从DockerHub拉取“hello-world”图像。(amd64)3.Docker守护进程从该映像创建了一个新容器,该容器运行可生成您当前正在阅读的输出的可执行文件。4.Docker守护进程将该输出流式传输到Docker客户端,后者将其发送到您的终端。要尝试更雄心勃勃的事情,您可以运行Ubuntu容器:$dockerrun-itubuntubashShareimages免费的DockerID:https://hub.docker.com/更多示例和想法,请访问:https://docs.docker.com/get-started/5.获取docker镜像。dockerpullswr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.5*这里需要注意的是:如果在安装docker后执行docker相关的命令,会出现如下错误:原因分析:可能是docker进程使用的是UnixSocket,而不是TCP端口。默认情况下,Unix套接字属于root用户,需要root权限才能访问。解决方法:方法一:使用sudo获取管理员权限,在docker命令前加上sudo。方法二:dockerdaemon启动时,默认赋予名为docker的用户组读写Unixsockets的权限。因此,只要创建docker用户组,并将当前用户加入到docker用户组中,当前用户就有权限访问Unixsocket后,就可以执行docker相关命令了。具体操作命名如下:sudogroupadddocker#添加docker用户组sudogpasswd-a$USERdocker#将登录用户添加到docker用户组newgrpdocker#更新用户组dockerimages#测试是否可以使用docker命令不加sudo八、查看代码windows下,打开共享文件夹niobecode,将niobe文件夹直接拖到VScode即可打开代码。9.编译代码进入docker环境编译源码。Niobe使用小系统的docker编译环境:docker-openharmony:0.0.5。进入niobecode文件夹(OpenHarmony代码根目录下),执行命令进入Docker构建环境。cd/home/niobe/niobecodedockerrun-it-v$(pwd):/home/openharmonyswr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.5*已经在Docker中了编译环境。编译hb文件1.输入命令:cdniobe2.输入命令:hbset*设置工作目录。3、输入:*输入源代码所在目录,点(.)表示当前目录。4.回车确认选择,选择talkwebniobe_wifi_iot开发板。5.输入命令:hbbuild-brelease-f执行编译。*出现buildsuccess表示编译成功。10.连接开发板,查看串口号,安装CH340驱动。使用TypeC数据线连接拓维niobe开发板与电脑。连接电脑时需要注意关闭虚拟机抓取USB的功能。(会导致Windows看不到串口)查看串口号我的电脑-->右键-->管理-->设备管理器-->端口(COM和LPT)-->USB-SERIALCH340(COMx)11.烧录程序在Windows下打开Hiburn工具。点击刷新,会出现串口号。单击设置并选择Com设置。在Comsettings中设置Baud为:921600,点击OK。点击选择文件,在弹出的文件框中,选择路径,选择:Hi3861_wifiiot_app_allinone.bin文件。单击自动刻录复选框,然后单击连接,连接按钮变为断开连接。按下开发板上的复位键,启动烧录程序。出现ExecutionSuccessful字样,表示程序烧录完成。烧录完成后点击Disconnect按钮断开连接,方便后期调试。12、查看串口打印日志打开MobaXterm,点击:Session,Serial按钮。将串行端口设置为Hiburn。设置同串口的Speed为115200,点击OK。如果显示Unabletoopen...,需要检查Hiburn的链接状态是否为Disconnect。复位开发板,COM会打印出相应的日志信息以供查看。成功!至此我们已经搭建好编译环境,并成功将代码烧写到开发板上,可以正常运行了!了解更多开源知识,请访问:开源基础软件社区https://ost.51cto.com。