#2020征文-开发板# 用鸿蒙开发AI应用(三)软件篇
目录:
前言
上一篇,我们在 Win10 上用虚拟机安装了 Ubuntu,并设置了文件共享。这一篇,在此基础上编译鸿蒙os的源码,并进行设备烧录。
HarmonyOS 简介
1. 系统定义
HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。
2. 技术架构
HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。
这次开源的内核仅包含HarmonyOS微内核的部分,Linux内核要等下一个版本。
3. 分布式软总线
分布式软总线是多种终端设备的统一基座,为设备之间的互联互通提供了统一的分布式通信能力,能够快速发现并连接设备,高效地分发任务和传输数据。
4. 分布式设备虚拟化
分布式设备虚拟化平台可以实现不同设备的资源融合、设备管理、数据处理,多种设备共同形成一个超级虚拟终端。针对不同类型的任务,为用户匹配并选择能力合适的执行硬件,让业务连续地在不同设备间流转,充分发挥不同设备的资源优势。
主要特性还是分布式架构和设备虚拟化技术,更详细的资料,参考官网描述
https://device.harmonyos.com/cn/docs/start/learn/oem_des_define-0000001055232642
DevEco Device Tool(windows下)
官网下载Visual Studio Code软件包,要求为1.45.1及以上版本。
1. 工具简介
HUAWEI DevEco Device Tool(以下简称DevEco Device Tool)是HarmonyOS面向智能设备开发者提供的一站式集成开发环境,支持HarmonyOS的组件按需定制,支持代码编辑、烧录和调试等功能,支持C/C++语言,以插件的形式部署在Visual Studio Code上。该工具具有以下特点:
DevEco Device Tool以Visual Studio Code插件形式提供,体积小巧。
支持代码查找、代码高亮、代码自动补齐、代码输入提示、代码检查等,开发者可以轻松、高效编码。
支持多种类型开发板,包括ARM架构的Hi3516/Hi3518系列和RISC-V架构的Hi3861系列开发板,提供一键式的烧录和调试GUI界面。
支持单步调试能力和查看内存、变量、调用栈、寄存器、汇编等调试信息。
2. 安装 Visual Studio Code
https://code.visualstudio.com/
懒得下载的,在文末网盘里也能获取最新版本的安装包。
3. 安装Node.js
官网下载链接,请选择LTS版本12.0.0及以上,Windows 64位对应的软件包。
https://nodejs.org/en/download/
安装完毕,在“此电脑 > 属性 > 高级系统设置 > 高级 > 环境变量 >系统变量”中,新增NODE_PATH变量,值为:C:\Users\{userName}\AppData\Roaming\npm\node_modules,其中userName请替换为实际的用户名称。
4. 安装JDK
下载并安装JDK,版本要求为:1.8版本。
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
下载完成后,安装 jdk-8u271-windows-x64.exe即可。
5. 安装hpm
基于 node.js ,全局模式安装脚手架
npm install -g @ohos/hpm-cli
测试安装是否成功
hpm -V
6. 安装DevEco Device Tool插件
如果您已经安装过DevEco Device Tool 插件,在您安装新版本前,请先手动将已安装的DevEco Device Tool 插件卸载后再按照如下步骤进行安装。
在产品页下载工具插件
https://device.harmonyos.com/cn/ide
采用从本地磁盘安装方式,安装DevEco Device Tool。
7. 安装C/C++插件
HarmonysOS设备开发采用C/C++语言,Visual Studio Code工具对C/C++语言的支持插件非常丰富,可以安装“C/C++”插件来实现C/C++代码智能提示、代码高亮、格式化等功能,帮助您更高效、便利的开发更规范和优美的代码。
在Visual Studio Code的插件市场,输入“C/C++”,然后点击“Install”。
获取源码(切换到ubuntu)
官网提供了4种方式,这里我们采用从代码仓库获取,进入虚拟机的 ubuntu 系统。
1. 将Linux shell改为bash
查看shell是否为bash,在终端运行如下命令
ls -l /bin/sh
如果显示为“/bin/sh -> bash”则为正常,否则请按以下方式修改:
在终端运行如下命令,然后选择 no。
ls -l /bin/sh
2. 安装ssh server (可选)
如果要通过ssh对外提供链接的话,可以安装ssh服务
sudo apt-get install openssh-server
其余相关命令
# 查看ssh 服务
sudo ps -e | grep ssh
# 开启服务
sudo /etc/init.d/ssh start
# 查看服务状态
sudo service ssh status
# 关闭服务
sudo service ssh stop
# 重启服务
sudo service ssh restart
这时其他电脑就能通过 ssh 命令来访问 ubuntu 了,如果喜欢的话,也可以安装putty-64bit-0.74-installer.msi来连接。
3. 配置 python 环境
Ubuntu 20.04.1 默认已经带了 python3.8
which python
/usr/bin/python3.8
建立软链接,指向 python
cd /usr/bin
sudo ln -s /usr/bin/python3.8 python && python --version
4. 安装并升级Python包管理工具(pip3)
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip
配置 pip 换源,新建 ~/.pip/pip.conf ,写入清华源
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
安装python模块setuptools
pip3 install setuptools
安装GUI menuconfig工具(Kconfiglib),建议安装Kconfiglib 13.2.0+版本
sudo pip3 install kconfiglib
5. 安装文件打包工具
sudo apt-get install dosfstools mtools mtd-utils
6. 下载、配置编译工具链
mkdir -p ~/harmony/tools && cd ~/harmony/tools # 下载gn/ninja/LLVM/hc-gen包:
URL_PREFIX=https://repo.huaweicloud.com/harmonyos/compiler
wget $URL_PREFIX/gn/1523/linux/gn.1523.tar
wget $URL_PREFIX/ninja/1.9.0/linux/ninja.1.9.0.tar
wget $URL_PREFIX/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar
wget $URL_PREFIX/hc-gen/0.65/linux/hc-gen-0.65-linux.tar # 解压gn/ninja/LLVM/hc-gen包:
tar -C ~/harmony/tools/ -xvf gn.1523.tar
tar -C ~/harmony/tools/ -xvf ninja.1.9.0.tar
tar -C ~/harmony/tools/ -xvf llvm-linux-9.0.0-34042.tar
tar -C ~/harmony/tools/ -xvf hc-gen-0.65-linux.tar # 向 ~/.bashrc 中追加gn/ninja/LLVM/hc-gen路径配置:
cat <<EOF >> ~/.bashrc
export PATH=~/harmony/tools/gn:\$PATH
export PATH=~/harmony/tools/ninja:\$PATH
export PATH=~/harmony/tools/llvm/bin:\$PATH
export PATH=~/harmony/tools/hc-gen:\$PATH
EOF # 生效环境变量
source ~/.bashrc
7. 安装虚拟环境
sudo pip3 install -U virtualenv
virtualenv -p python3 ~/my_envs/harmonyos
source ~/my_envs/harmonyos/bin/activate
pip install requests # 后续repo需要
作者:bluishfish
想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com/
#2020征文-开发板# 用鸿蒙开发AI应用(三)软件篇的更多相关文章
- #2020征文-开发板# 用鸿蒙开发AI应用(一)硬件篇
目录: 前言 开发板简介 产品特色及功能 产品参数 各个主板功能简介 Hi3516DV300 芯片手册 前言鸿蒙2.0的系统刚开源出来,华为志在打造1+8+N万物互联的全场景智慧生活,不仅是国产操作系 ...
- #2020征文-开发板# 用鸿蒙开发AI应用(二)系统篇
目录: 前言 安装虚拟机 安装 Ubuntu 设置共享文件夹 前言上回说到,我们在一块 HarmonyOS HiSpark AI Camera 开发板,并将其硬件做了一下解读和组装.要在其上编译鸿蒙系 ...
- #2020征文-开发板# 用鸿蒙开发AI应用(五)HDF 驱动补光灯
目录: 前言 硬件准备 HDF 驱动开发 总结 前言上一篇,我们在鸿蒙上运行了第一个程序,这一篇我们来编写一个驱动开启摄像头的红外补光灯,顺便熟悉一下鸿蒙上的 HDF 驱动开发. 硬件准备先查一下原理 ...
- iTOP-4418开发板和6818开发板-第五路串口介绍
iTOP-4418开发板和6818开发板 的除去默认 4 个串口的配置和用法. 4418 的开发板最多支持 5 路串口,如下图所示,4418 的 datasheet. 6818 的开发板最多支持 ...
- 真正的RISC-V开发板——VEGA织女星开发板开箱评测
前言 由于最近ARM公司要求员工"停止所有与华为及其子公司正在生效的合约.支持及未决约定",即暂停与华为的相关合作,大家纷纷把注意力投向了另一个的处理器架构RISC-V,它是基于精 ...
- #2020征文-开发板#使用Python开发鸿蒙应用--2021.01.07直播图文
写在前面: 每年的过年前夕,手中的项目一定会告急...而自己又缺乏三头六臂七十二变等特技,所以只能在鸿蒙社区先消失一阵子了.今天再看社区的帖子,发现大家的进步可不一般,各种案例示例层出不穷,一片欣欣向 ...
- ESP-EYE V2.1 开发板 WINDOWS 10 开发入门
准备工作 1 × ESP-EYE V2.1 开发板 1 × Micro USB B 电缆 1 × PC(Windows10) 简介 ESP-EYE 是一款面向人脸识别和语音识别市场的开发板,搭载 ES ...
- 基于讯为4412开发板的Android开发流程
讯为4412开发板 使用三星2410芯片,基于arm9架构,由于自己电脑硬件的局限,只能跑Android4.0.3系统. 1.Uboot这个直接使用官方镜像烧写就可以了,一般情况不用去重复烧写. 略 ...
- 嵌入式开发板iTOP4412学习开发板
网站:http://www.topeetboard.com 淘宝:https://item.taobao.com/item.htm?_u=okcahs0f42a&id=38712193806 ...
随机推荐
- kubeadm 的工作原理
kubeadm 的工作原理 作者:张首富 时间:2020-06-04 w x:y18163201 相信使用二进制部署过 k8s 集群的同学们都知道,二进制部署集群太困难了,有点基础的人部署起来还有成功 ...
- AcWing 326. XOR和路径
大型补档计划 题目链接 如果整体来做,发现既有加法,也有整体异或,这样不容易搞. 考虑异或,各个位置互不干扰,按位考虑一下. 枚举每一位 \(k\) 发现如果设 \(f[u]\) 为这一位的期望结果还 ...
- Codeforces Edu Round 67 A-C + E
A. Stickers and Toys 考虑尽量先买\(max(s, t)\)个里面单独的.那么如果\(s + t > n\)那么\(s + t - n\)的部分就该把\(min(s, t)\ ...
- 算法-数位dp
算法-数位dp 前置知识: \(\texttt{dp}\) \(\texttt{Dfs}\) 参考文献 https://www.cnblogs.com/y2823774827y/p/10301145. ...
- CD租赁售卖系统javaweb系统展示SSM框架
一.功能要点 1.管理员登录 2.用户注册登录 3.用户权限,可以查看可借或可买cd,并实现对cd的买租 4.管理员可以添加cd, 5.cd的类型,价格由管理员设置 二.运行环境 数据库mysql: ...
- vue 修改数据
通过数组中的方法改变数据 变异方法(改变原数组) push() pop() shift() unshift() splice() sort() reverse() 替换数组(生成新数组) filter ...
- CSS鼠标指针cursor样式
参考来源:W3SCHOOL 有时我们需要在CSS布局时设定特定的鼠标指针样式,这时可以通过设定cursor来实现: url: 需使用的自定义光标的 URL. 注释:请在此列表的末端始终定义一种普通的光 ...
- 制作3D小汽车游戏(上)
之前一段时间家里和公司的事太多,一直没有时间写博客,最近腾出一段时间,看了一遍官方的examples,收货颇多,想整理一点东西出来,又苦于没有好的东西,three写点东西真是太难了.好吧,今天郭先生就 ...
- NET 5 使用HttpClient和HttpWebRequest
HttpWebRequest 这是.NET创建者最初开发用于使用HTTP请求的标准类.HttpWebRequest是老版本.net下常用的,较为底层且复杂,访问速度及并发也不甚理想,但是使用HttpW ...
- C#中搜索xsd文件中的某个数据源
步骤 1.打开***.xsd文件. 2.数据源之间的空白处,右键->属性. 3.在VS右侧会跳出一个属性窗口. 4.有个名称为DataSet的下拉框,所有的数据源名称都在其中,单击即可定位到所选 ...