Openharmony的设备开发流程 Hi3516DV300

安装VirtualBox

这里用VirtualBox 6.1.3
https://download.virtualbox.org/virtualbox/6.1.30/VirtualBox-6.1.30-148432-Win.exe
安装
在这里插入图片描述

安装Ubuntu镜像

Ubuntu系统要求:Ubuntu18.04~21.10版本。推荐使用20.04版本,内存16 GB及以上。
https://mirrors.huaweicloud.com/home
https://mirrors.huaweicloud.com/ubuntu-releases/20.04/ubuntu-20.04.6-desktop-amd64.iso
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装Ubuntu

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装DevEco Device Tool

通常在嵌入式开发中,很多开发者习惯于使用Windows进行代码的编辑,比如使用Windows的Visual Studio Code进行OpenHarmony代码的开发。但当前阶段,仅Hi3861系列开发板支持在Windows环境下进行编译(点击查看详情),大部分的开发板源码还不支持在Windows环境下进行编译,如Hi3516系列开发板。因此,需要使用Ubuntu的编译环境对源码进行编译。

在以上的设备开发场景中,可以搭建一套Windows+Ubuntu混合开发的环境,其中使用Windows平台的DevEco Device Tool可视化界面进行相关操作,通过远程连接的方式对接Ubuntu下的DevEco Device Tool(Ubuntu下可以不安装Visual Studio Code),然后对Ubuntu下的源码进行开发、编译、烧录等操作。

Ubuntu安装

将Ubuntu Shell环境修改为bash。
执行如下命令,确认输出结果为bash。如果输出结果不是bash,请根据b,将Ubuntu shell修改为bash。

ls -l /bin/sh

在这里插入图片描述

打开终端工具,执行如下命令,输入密码,然后选择No,将Ubuntu shell由dash修改为bash。

sudo dpkg-reconfigure dash

在这里插入图片描述
在这里插入图片描述
下载DevEco Device Tool最新Linux版本软件包。https://device.harmonyos.com/cn/develop/ide#download
在这里插入图片描述
解压DevEco Device Tool软件包并对解压后的文件夹进行赋权。
进入DevEco Device Tool软件包目录,执行如下命令解压软件包,其中devicetool-linux-tool-4.0.0.400.zip为软件包名称,请根据实际进行修改。

unzip devicetool-linux-tool-{Version}.zip

进入解压后的文件夹,执行如下命令,赋予安装文件可执行权限,其中devicetool-linux-tool-4.0.0.400.sh请根据实际进行修改。

chmod u+x devicetool-linux-tool-4.0.0.400.sh

执行如下命令,安装DevEco Device Tool,其中devicetool-linux-tool-4.0.0.400.sh请根据实际进行修改。

sudo ./devicetool-linux-tool-4.0.0.400.sh

在这里插入图片描述
在用户协议和隐私声明签署界面,请详细阅读用户协议和隐私声明,需签署同意用户协议和隐私声明才能进行下一步的安装,可通过键盘的上下按键进行选择。

在这里插入图片描述
配置Windows远程访问Ubuntu环境
安装SSH服务并获取远程访问的IP地址
在Ubuntu系统中,打开终端工具,执行如下命令安装SSH服务。
在这里插入图片描述

NOTE
如果执行该命令失败,提示openssh-server和openssh-client依赖版本不同,请根据CLI界面提示信息,安装openssh-client相应版本后(例如:sudo apt-get install openssh-client=1:8.2p1-4),再重新执行该命令安装openssh-server。

apt-get install openssh-server

执行如下命令,启动SSH服务。

systemctl start ssh

执行如下命令,获取当前用户的IP地址,用于Windows系统远程访问Ubuntu环境。

ifconfig

NOTE
如果执行ifconfig命令提示“command-not-found”,请执行sudo apt-get install net-tools命令安装网络查询工具,然后重新查询IP地址。
在这里插入图片描述

Windows安装

下载
https://device.harmonyos.com/cn/develop/ide#download
安装软件
在这里插入图片描述

搭建Windows环境
下载DevEco Device Tool最新Windows版本软件包。
解压DevEco Device Tool压缩包,双击安装包程序,单击下一步进行安装。
请查阅用户协议和隐私声明,需勾选“我接受许可证协议中的条款”后,才能继续下一步的安装。
设置DevEco Device Tool的安装路径,请注意安装路径不能包含中文字符,不建议安装到C盘目录,单击下一步。
在这里插入图片描述
根据安装向导提示,安装依赖的工具。
在这里插入图片描述
其中,
安装:按照默认路径及参数直接安装。
自定义安装:安装前可以自行修改安装路径及其他设置参数。
安装完成后,各软件状态显示为OK。
在这里插入图片描述
依赖的工具安装完成后,单击安装,开始安装DevEco Device Tool。
继续等待DevEco Device Tool安装向导自动安装DevEco Device Tool插件,直至安装完成,单击完成,关闭DevEco Device Tool安装向导。
在这里插入图片描述
打开Visual Studio Code,进入DevEco Device Tool工具界面。至此,DevEco Device Tool Windows开发环境安装完成。
在这里插入图片描述

安装Remote SSH
打开Windows系统下的Visual Studio Code,点击在这里插入图片描述,在插件市场的搜索输入框中输入“remote-ssh”。
在这里插入图片描述
点击Remote-SSH的Install,安装Remote-SSH。安装成功后,在INSTALLED下可以看到已安装Remote-SSH。
在这里插入图片描述
远程连接Ubuntu环境
打开Windows系统的Visual Studio Code,点击在这里插入图片描述
,在SSH TARGETS下,单击+。
在这里插入图片描述
在这里插入图片描述
在弹出的SSH连接命令输入框中输入“ssh username@ip_address”,其中ip_address为要连接的远程计算机的IP地址,username为登录远程计算机的帐号。
在这里插入图片描述
在这里插入图片描述
连接成功后,等待在远程计算机用户目录下的.vscode-server文件夹下自动安装插件,安装完成后,根据界面提示在Windows系统下重新加载Visual Studio Code,便可以在Windows的DevEco Device Tool界面进行源码开发、编译、烧录等操作。
NOTE
如果您之前安装过DevEco Device Tool 以前的版本,可能出现插件安装失败的情况,Visual Studio Code右下角一直处于如下界面,请参考DevEco Device Tool插件安装失败处理办法进行处理。
在这里插入图片描述
至此,环境搭建完成,如下图所示,左下角显示远程连接计算机的IP地址。
在这里插入图片描述

体验OpenHarmony设备开发

DevEco Device Tool安装完成后,您可以快速体验OpenHarmony设备开发的流程,在设备上运行Hello World。OpenHarmony支持轻量和小型系统(如IoT类设备,参考内存≤128MiB)设备、标准系统(参考内存≥128MiB)设备,其快速入门指导请参考设备开发快速入门。
创建工程并获取源码
在通过DevEco Device Tool创建OpenHarmony工程时,可自动下载相应版本的OpenHarmony源码。

OpenHarmony Stable Version类型的源码为OpenHarmony稳定版本源码,通过镜像站点获取,支持OpenHarmony-v3.0.3-LTS、OpenHarmony-v3.1-Release、OpenHarmony-v3.2-Beta3、OpenHarmony-v3.2-Beta4、OpenHarmony-v3.2-Beta5、OpenHarmony-v3.2-Release版本。

镜像站点的源码,一般取自该稳定版本的发布时间点,因此,通过镜像站点获取的源码可能不是该版本最新源码。如果您需要获取对应版本的最新源码,请参考从码云仓库获取源码,获取源码后,请参考《HUAWEI DevEco Device Tool 使用指南》的“导入OpenHarmony源码”章节,在DevEco Device Tool中导入源码。

此处以下载OpenHarmony Stable Version源码为例,说明操作过程。关于其他类型源码的下载,可参考《HUAWEI DevEco Device Tool 使用指南》。

前提条件
只有在Windows环境通过Remote SSH远程连接上Ubuntu环境的情况下,才可以创建OpenHarmony新工程,具体请参考搭建开发环境。
icon-note.gif 说明: 若Windows环境未远程连接Ubuntu环境,New Project功能仅针对海思企业用户,不支持创建OpenHarmony工程。
操作步骤
打开DevEco Device Tool,进入Home页,点击New Project创建新工程。
在这里插入图片描述
在新工程的配置向导页,配置工程相关信息,包括:

OpenHarmony Source Code:选择需要下载的OpenHarmony源码,请选择OpenHarmony Stable Version下的源码版本,支持OpenHarmony-v3.0.3-LTS、OpenHarmony-v3.1-Release、OpenHarmony-v3.2-Beta3、OpenHarmony-v3.2-Beta4、OpenHarmony-v3.2-Beta5、OpenHarmony-v3.2-Release版本。
Project Name:设置工程名称。
Project Path:选择工程文件存储路径。
SOC:选择支持的芯片。
Board:选择支持的开发板。
Product:选择产品。
在这里插入图片描述

在这里插入图片描述

工程配置完成后,点击Confirm,DevEco Device Tool会自动启动OpenHarmony源码的下载。由于OpenHarmony稳定版本源码包体积较大,请耐心等待源码下载完成。
在这里插入图片描述
在这里插入图片描述

编译
DevEco Device Tool支持Hi3516DV300开发板的源码一键编译功能,提供编译工具链和编译环境依赖的检测及一键安装,简化复杂编译环境的同时,提升了编译的效率。

https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/quick-start/quickstart-ide-3516-build.md/

icon-note.gif 说明: Hi3516DV300编译环境为Ubuntu环境。

在菜单栏中点击Project Settings,进入Hi3516DV300工程配置界面。
在这里插入图片描述
在“Tool Chain”页签中,DevEco Device Tool会自动检测依赖的编译工具链是否完备。

如工具为“uninstalled”状态(status_uninstall),可单击Download Uninstalled Tools,自动安装所需工具,或单击工具后方的Download安装指定工具。
如当前识别到的工具类型有缺失,需要补充,可单击Add Utility添加。
如工具无法通过Download方式安装,表示该工具未被DevEco Device Tool收录,需要开发者自行下载到本地后单击Import导入。
如“OpenHarmony Environment Dependency”的状态异常(status_uninstall),请单击Install安装。
在这里插入图片描述
部分工具安装需要使用root权限,请在“TERMINAL”窗口输入用户密码进行安装。

icon-note.gif 说明:

如果出现安装pip组件失败,可参考修改Python源的方法进行修改,完成尝试重新安装。
若出现安装apt组件失败,可参考修改apt源的方法进行修改,完成后尝试重新安装。
在这里插入图片描述
安装完成后,工具和环境依赖的状态显示为status_install。

在ipcamera_hispark_taurus配置页签中,设置源码的编译类型build_type,默认为“debug”类型,请根据需要进行修改。
在这里插入图片描述
在“PROJECT TASKS”中,单击对应开发板下的Build,执行编译。
在这里插入图片描述
等待编译完成,在TERMINAL窗口输出“SUCCESS”,编译完成。
在这里插入图片描述
编译完成后,可以在工程的out目录下,查看编译生成的文件,用于后续的Hi3516DV300开发板烧录。

烧录

烧录是指将编译后的程序文件下载到芯片开发板上的动作,为后续的程序调试提供基础。DevEco Device Tool提供一键烧录功能,操作简单,能快捷、高效的完成程序烧录,提升烧录的效率。

Hi3516DV300的镜像烧录通过Windows环境进行烧录,开发者启动烧录操作后,DevEco Device Tool通过Remote远程模式,将Ubuntu环境下编译生成的待烧录程序文件拷贝至Windows目录下,然后通过Windows的烧录工具将程序文件烧录至开发板中。

Hi3516DV300开发板小型系统的烧录方式包括USB烧录、网口烧录两种方式,本文采用USB方式进行烧录。

前提条件
代码已编译完成。
安装Hi3516DV300开发板串口驱动程序
http://www.hihope.org/download/download.aspx?mtt=12
在这里插入图片描述
安装Hi3516DV300开发板USB驱动程序
http://www.hihope.org/download/download.aspx?mtt=11
在这里插入图片描述
下载完成后,点击InstallDriver.exe进行安装。
在这里插入图片描述
在DevEco Device Tool中,点击hi3516dv300_fastboot下的Erase按钮,擦除fastboot。
在这里插入图片描述
打开设备管理器,如下图所示,说明HiUSBBurn的驱动安装成功。
在这里插入图片描述
如果安装完HiUSBBurn驱动后,找不到上图中的驱动,请根据如下方式解决。
创建一个“文本文档.TXT”,文件后缀名修改为.reg,如usb.reg。
右键打开创建的usb.reg,将如下脚本拷贝到该文件中,然后保存并关闭。

Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\12D1D0010100]
"SkipBOSDescriptorQuery"=hex:01,00,00,00
"osvc"=hex:00,00
"IgnoreHWSerNum"=hex:01

双击执行usb.reg文件,自动修改注册表文件信息。
重启电脑。

烧录操作步骤
请连接好电脑和待烧录开发板,需要连接USB口和串口,具体可参考Hi3516DV300开发板介绍。
在这里插入图片描述
在这里插入图片描述

在DevEco Device Tool中,选择REMOTE DEVELOPMENT > Local PC,查看远程计算机(Ubuntu开发环境)与本地计算机(Windows开发环境)的连接状态。

如果Local PC右边连接按钮为zh-cn_image_0000001326512673,则远程计算机与本地计算机为已连接状态,不需要执行其他操作。
如果Local PC右边连接按钮为zh-cn_image_0000001275432904,则点击绿色按钮进行连接。连接时DevEco Device Tool会重启服务,因此请不要在下载源码或源码编译过程中进行连接,否则会中断任务。
在这里插入图片描述
在这里插入图片描述
在菜单栏中点击Project Settings按钮,进入Hi3516DV300工程配置界面。
在这里插入图片描述
在“Tool Chain”页签,检查Uploader烧录器工具是否已安装。
在这里插入图片描述
在这里插入图片描述
在“ipcamea_hispark_taurus”页签,设置烧录选项,包括upload_partitions、upload_port和upload_protocol。配置完成后工程将自动保存。
upload_partitions:选择待烧录的文件,默认情况下会同时烧录fastboot、kernel、rootfs和userfs。DevEco Device Tool已预置默认的烧
在这里插入图片描述
upload_protocol:选择烧录协议,固定选择“hiburn-usb”。

upload_port:选择已查询到的串口号。
在这里插入图片描述
点击ipcamera_hispark_taurus下的Upload按钮。
在这里插入图片描述
此时待烧录文件会从Ubuntu系统传输到Windows下,传输完成后界面显示“Operation paused, Please press Enter key to continue”时,请点击Enter键启动烧录。
在这里插入图片描述
在终端窗口显示如下提示信息时,请在15秒内,按住Update键(位置如下图),插拔USB线,最后松开Update键启动烧录。
在这里插入图片描述
在这里插入图片描述
启动烧录后,界面提示SUCCESS信息时,表示烧录成功。
在这里插入图片描述

运行

启动系统
在完成Hi3516DV300的烧录后,还需要设置BootLoader引导程序,才能运行OpenHarmony系统。
在Hi3516DV300任务中,单击Configure bootloader(Boot OS)进行配置即可。
icon-note.gif 说明: DevEco Device Tool针对Hi3516DV300开发板的BootLoader设置进行了适配,无需开发者手动修改。
在这里插入图片描述
提示如下图中的重启开发板的提示信息时,重启开发板(跟烧录一样,按住Update键,插拔USB线,最后松开Update),然后在控制台输出“SUCCESS”表示设置成功。
在这里插入图片描述
在这里插入图片描述
在任务栏单击Monitor按钮,启动串口工具。
在这里插入图片描述
重启开发板,在倒计时结束前,按任意键进入系统
在这里插入图片描述
通过以下两条命令设置启动参数。

setenv bootargs 'mem=640M console=ttyAMA0,115200 mmz=anonymous,0,0xA8000000,384M clk_ignore_unused rootdelay=10 hardware=Hi3516DV300 init=/init root=/dev/ram0 rw blkdevparts=mmcblk0:1M(boot),15M(kernel),20M(updater),2M(misc),3307M(system),256M(vendor),-(userdata)';
setenv bootcmd 'mmc read 0x0 0x82000000 0x800 0x4800; bootm 0x82000000'

保存参数设置。

save

重启开发板,完成系统启动

reset

在这里插入图片描述
启动后在LCD屏即可以看到开机显示,标准系统对比起小型系统会有点卡顿。
在这里插入图片描述
在这里插入图片描述

参考资料

[1] https://blog.51cto.com/harmonyos/5533313

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/526510.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

16. C++标准库

C标准库兼容C语言标准函数库,可以在C标准库中直接使用C语言标准函数库文件,同时C标准库增加了自己的源代码文件,新增文件使用C编写,多数代码放在std命名空间中,所以连接C标准库文件后还需要 using namespace std;。 【…

【AcWing】蓝桥杯集训每日一题Day1|二分|差分|503.借教室(C++)

503. 借教室 503. 借教室 - AcWing题库难度:简单时/空限制:1s / 128MB总通过数:8052总尝试数:26311来源:NOIP2012提高组算法标签二分差分 题目内容 在大学期间,经常需要租借教室。 大到院系举办活动&…

【吊打面试官系列】Java虚拟机JVM篇 - 关于内存溢出

大家好,我是锋哥。今天分享关于内存溢出的JVM面试题,希望对大家有帮助; 什么是内存溢出? 内存溢出(OOM)是指可用内存不足。程序运行需要使用的内存超出最大可用值,如果不进行处理就会影响到其他…

Django添加app

Django添加App python manage.py startapp [app_name]快速上手 注册app,setting.py 编写url和视图的对应关系 添加视图函数 命令行启动 python manage.py runserver页面模板

七、软考-系统架构设计师笔记-数据库设计基础知识

1、数据库基础概念 数据库基本概念 数据(Data)数据库(Database)数据库管理系统(DBMS)数据库系统(DBS) 1.数据(Data) 是数据库中存储的基本对象,是描述事物的符号记录。 数据的种类: 文本、图形、图像、音频、视频等。 2.数据库(Database, DB) 数据库…

LeetCode Python - 44.通配符匹配

目录 题目答案运行结果 题目 给你一个输入字符串 (s) 和一个字符模式 ,请你实现一个支持 ‘?’ 和 ‘’ 匹配规则的通配符匹配: ‘?’ 可以匹配任何单个字符。 ’ 可以匹配任意字符序列(包括空字符序列)。 判定匹配成功的充要…

数字化审计智慧

简析内部审计数字化转型的方法和路径 内部审计是一种独立的、客观的确认和咨询活动,包括鉴证、识别和分析问题以及提供管理建议和解决方案。狭义的数字化转型是指将企业经营管理和业务操作的各种行为、状态和结果用数字的形式来记录和存储,据此再对数据进…

Excel 一列数据转换为多行数据

目录 一. 需求二. 填充 替换 进行转换 一. 需求 ⏹有如下图所示的数据,现在要求按每5行为一组,转换为一行 二. 填充 替换 进行转换 先手动将一列中的1到5行的单元格号转换为一行再手动将一列中的6到10行的单元格号转换为一行然后填充最后使用替换功能…

为什么选择 Flink 做实时处理

优质博文:IT-BLOG-CN 为什么选择 Flink 【1】流数据更真实地反映了我们的生活方式(实时聊天); 【2】传统的数据架构是基于有限数据集的(Spark 是基于微批次数据处理); 【3】我们的目标&#xf…

算法(递归)黑盒思想

递归vs搜索vs回溯 递归的时候其实就是在搜索,递归返回的时候其实就是在回溯 常见的二叉树的题目基本都用到了递归: 求二叉树节点个数(后序遍历) int BinaryTreeSize(BTNode* root) {return root NULL ? 0 : BinaryTreeSize(roo…

爬虫(五)

1. 前端JS相关 三元运算 v1 条件 ? 值A : 值B; # 如果条件成立v1值A,不成立v1等于值Bres 1 1 ? 99 : 88 # res99特殊的逻辑运算 v1 11 || 22 # Ture v2 9 || 14 # 9 v3 0 || 15 # 15 v3 0 || 15 || "zhangfei" # 15赋值和…

使用Migration升级数据库

使用Migration升级数据库 package com.tiger.room2;import android.content.Context;import androidx.annotation.NonNull; import androidx.room.Database; import androidx.room.Room; import androidx.room.RoomDatabase; import androidx.room.migration.Migration; impo…