Hi3861 OpenHarmony嵌入式应用入门--鸿蒙开发环境搭建

目录

简介

准备材料

安装开发环境

配置开发工具和sdk

新建工程

代码编译


简介

本篇将进行hi3861开发环境的搭建,并能够编译默认工程。

准备材料

华为集成开发环境工具DevEco Device Tool

华为集成开发环境IDE DevEco Device Tool下载 | HarmonyOS设备开发

编译工具

DevTools_Hi3861V100_v1.0: 鸿蒙开发编译工具DevTools_Hi3861V100_v1.0.zip

SDK

hi3861_hdu_iot_application: hi3861鸿蒙开发sdk

这里需要说明一下,除了这两样还需要vscode和python3.8或3.9,如果你已经安装了就装了,如果没有安装,在DevEco Device Tool工具安装的时候会自动检测,检测到没有会帮你安装。

编译工具和SDK并不是必须的,因为在创建工程的时候DevEco Device Tool会自动下载,但是资源可能找不到导致下载失败,所以最好提前下载下来,在配置环境的时候导入即可。

这个sdk不是原始的,加入了一下后续的更新,如果sdk编译不过,如果我还在玩鸿蒙,如果我还有鸿蒙的开发环境,我会更新这个sdk。

安装开发环境

这是我下载的版本devicetool-windows-tool-4.0.0.400.zip

如果你没有哪个,哪个后面会有让你安装的按钮,让他帮你安装就好了。

安装完成后,打开vscode,左侧会多出一个三角的图标。

配置开发工具和sdk

这里选择“菜单”-》“资源管理器”,在右侧找到SDK和工具集的位置。

点击工具集后面的导入,找到之前下载的DevTools_Hi3861V100_v1.0.zip,等待导入完成。

点击sdk后面的导入,选在前面下载的hi3861_hdu_iot_application.zip,等待导入完成。

这里还有一种在线安装的方法,就是在主页中新建工程里面下载

如果你的运气足够的好,那么你就可以下载成功,但是我没有成功。

新建工程

“主页”-》“新建工程”

填写工程名,选择soc为HI3861,选择工程路径,sdk选择,最后确定。

等待完成之后会跳转到代码页面

左侧就是代码目录。

代码编译

点击左侧三角,在左下角“project tasks”里面选择“build”,不出意外会编译成功。

到这里就已经编译完成了。

下载我们修改一下,编译出我们自己制定的编译文件。

我们以src\vendor\hihope\hispark_pegasus\demo\06_gpioled为例,我们现在要编译这个目录的文件。

我们需要修改两个文件

在src/applications/sample/wifi-iot/BUILD.gn文件中,修改features,如下所示:

import("//build/lite/config/component/lite_component.gni")lite_component("app") {features = [
#        "startup","//vendor/hihope/hispark_pegasus/demo:demo",]
}

修改 src\vendor\hihope\hispark_pegasus\demo\BUILD.gn,根据需要编译对应的示例程序:

import("//build/lite/config/component/lite_component.gni")lite_component("demo") {features = [
#   "00_thread:thread_demo",
#   "01_timer:timer_demo",
#   "02_delay:delay_demo",
#   "03_mutex:mutex_demo",
#   "04_semaphore:semp_demo",
#   "05_message:message_demo","06_gpioled:led_example",
#   "07_gpiobutton:button_example",
#   "08_pwmled:pwm_led_demo",
#   "09_adc:adc_demo",
#   "10_i2caht20:app",
#   "11_uart:uart_demo",
#   "12_ssd1306:app",
#   "13_oledplayer:app",
#   "14_pwmbeer:pwm_beer_demo",
#   "15_pwmbeermusic:beeper_music_demo",
#   "16_trafficlight:traffic_light_demo",
#   "17_colorfullight:colorful_light_demo",
#   "18_environment:environment",
#   "19_wificonnect:wifi_demo",
#   "20_wifihotspot:wifi_demo",
#   "21_tcpclient:net_demo",
#   "22_tcpserver:net_demo",
#   "23_udpclient:net_demo",
#   "24_udpserver:net_demo",
#   "25_sntp:app",
#   "26_paho.mqtt.embedded-c:app",
#   "27_httpd:app",
#   "28_easy_wifi:app",]
}

然后进行编译。

因为我还没有硬件,所以下载暂时没有验证。

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

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

相关文章

SpringBoot自动配置原理(超级干货,直接面试使用,没有长篇大论)

SpringBoot的自动配置 遵循约定大于配置的原则,在boot程序启动后,起步依赖中的一下bean对象会自动注入到ioc容器 当面试官问你:说一说SpringBoot自动配置原理 你回答: 如此回答不到一分钟就过了,主打简单真实好用&am…

HarmonyOS开发学习:【DevEco Device Tool 安装配置(问题全解)】

本文介绍如何在Windows主机上安装DevEco Device Tool工具。 坑点总结: 国内部分网络环境下,安装npm包可能会很慢或者超时,推荐使用国内npm源(如淘宝源、华为源等);serialport这个npm包安装的过程中需要编…

切比雪夫窗函数

Skip to content 产品解决方案学术支持社区活动 获取 MATLAB登录到您的 MathWorks 帐户 Help Center 搜索帮助中心 帮助中心 Off-Canvas Navigation Menu Toggle Documentation Home Signal Processing Signal Processing ToolboxSpectral AnalysisWindows chebwinO…

动态规划解决背包问题

目录 动态规划步骤: 1.01背包问题 2.完全背包问题 动态规划步骤: step1.分析问题,定义dp数组(下标含义) step2.初始化dp数组(边界) step3.写dp状态转换方程(明确dp数组遍历顺序…

【Web】CTFSHOW-ThinkPHP5-6反序列化刷题记录(全)

目录 web611 web612 web613-622 web623 web624-626 纯记录exp&#xff0c;链子不作赘述 web611 具体分析&#xff1a; ThinkPHP-Vuln/ThinkPHP5/ThinkPHP5.1.X反序列化利用链.md at master Mochazz/ThinkPHP-Vuln GitHub 题目直接给了反序列化入口 exp: <?ph…

【刷题】图论——最小生成树:局域网

要想去除边&#xff0c;并且不改变连通性&#xff0c;而且去除的值最大&#xff0c;相当于保留最小生成树。 注意这题连通块有若干个&#xff0c;所以运行Kruskal相当于形成若干个最小生成树。 如果是prim只能事先处理好各个连通块&#xff0c;然后在连通块内部单独用prim 题目…

算法稳定币是未来趋势?

加密货币市场最近如火如荼的行情&#xff0c;稳定币作为不可或缺的一环可谓表现突出&#xff0c;目前总市值已超过 210 亿美元。新晋算法稳定币自带天然吸睛的博弈、投机、套利等行为&#xff0c;铺就了一个个极具吸引力的财富故事&#xff0c;进一步把加密世界的货币试验推到新…

动态规划(Dynamic Programming)详解

引言&#xff1a; 动态规划&#xff08;Dynamic Programming&#xff0c;简称DP&#xff09;是计算机科学与数学领域中的一个经典算法设计策略&#xff0c;用于解决具有重叠子问题和最优子结构特性的复杂问题。它通过将问题分解为更小的子问题来避免重复计算&#xff0c;从而提…

【vue】watch 侦听器

watch&#xff1a;可监听值的变化&#xff0c;旧值和新值 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><titl…

HarmonyOS开发实例:【自定义Emitter】

介绍 本示例使用[Emitter]实现事件的订阅和发布&#xff0c;使用[自定义弹窗]设置广告信息。 效果预览 使用说明 进入首页后弹出广告弹窗&#xff0c;点击即可关闭。点击商品列表中的一个商品可以跳转到商品详情页。在商品详情页点击首页可以返回到商品列表页&#xff0c;点…

结构型模式--2.桥接模式【大海贼时代】

1. 组建海贼团 哥尔D罗杰是罗杰海贼团船长。他最终征服了伟大航路&#xff0c;完成了伟大航路的航行&#xff0c;被人们成为海贼王。后来得了绝症&#xff0c;得知自己命不久矣&#xff0c;主动自首并在东海罗格镇被处刑。临死前罗杰的一句话“想要我的宝藏吗&#xff1f;想要…

std命名空间是C++标准库的命名空间

已经导入#include <string>&#xff0c;为何还要用 std::string&#xff1f;&#xff1f; 导入<string>头文件只是告诉编译器你要使用标准库中与字符串相关的功能&#xff0c;比如std::string类。然而&#xff0c;C中的标准库使用了命名空间&#xff08;namespace…

电商新宠:淘宝拍立淘API接口助力精准搜索商品信息

淘宝拍立淘API接口&#xff0c;作为电商领域的新宠&#xff0c;正以其独特的图像识别技术为精准搜索商品信息提供强大的助力。这项基于深度学习和计算机视觉技术的先进服务&#xff0c;使得用户能够通过上传图片来快速搜索淘宝平台上的相关商品&#xff0c;极大地提升了购物体验…

弹性云服务器性能对比(内附测试数据),快快网络服务器崭露头角

随着计算技术的不断革新&#xff0c;云服务器已成为企业和个人部署应用与服务的首选。尤其线上业务日益盛行的今天&#xff0c;云服务商的实力更是备受瞩目。对于企业而言&#xff0c;高稳定&#xff0c;存储速度都是不可或缺的基本要求&#xff0c;这些都对公有云的云端编解码…

【Linux系统】进程状态

1.直接谈论Linux的进程状态 Linux进程状态本质上是task_struct这个结构体内的一个变量用来存储进程状态。 task_struct { //内部的一个属性 int status; } R运行状态&#xff08;running&#xff09;: 并不意味着进程一定在运行中&#xff0c;它表明进程要么是在运行中要么在运…

【hive】mysql数据库作为metastore,hive hiveserver2启动报错All is already granted by admin

报错内容&#xff1a; All is already granted by admin role admin already exists在mysql数据库设置&#xff0c;即可解决&#xff1a; SET GLOBAL binlog_format ROW; COMMIT;转自&#xff1a;Part1-3&#xff1a;开发环境搭建(3)----Hive

ubuntu 安装多版本 python 并使用

需求&#xff1a; ubuntu 20.04 默认python 是3.8&#xff0c; 但是有些代码是老的&#xff0c;无法使用3.8编译 进程&#xff1a; 默认源没有 python 3.7 的版本需要加一个源apt install software-properties-common -y && add-apt-repository -y ppa:deadsnakes/p…

【深度学习】深度学习md笔记总结第4篇:TensorFlow介绍,学习目标【附代码文档】

深度学习笔记完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;深度学习课程&#xff0c;深度学习介绍要求,目标,学习目标,1.1.1 区别,学习目标,学习目标。TensorFlow介绍&#xff0c;2.4 张量学习目标,2.4.1 张量(Tensor),2.4.2 创建张量的指令,2.4.3 张量…

hbase基础shell用法

HBase中用create命令创建表&#xff0c;具体如下&#xff1a; create student,Sname,Ssex,Sage,Sdept,course 此时&#xff0c;即创建了一个“student”表&#xff0c;属性有&#xff1a;Sname,Ssex,Sage,Sdept,course。因为HBase的表中会有一个系统默认的属性作为行键&#x…

ubuntu添加环境变量

在Ubuntu中&#xff0c;添加环境变量有多种方法&#xff0c;下面列出三种常见的方法&#xff1a; 方法一&#xff1a;临时设置 使用export命令直接修改PATH的值&#xff0c;例如&#xff0c;如果想在$PATH中增加JAVA文件夹&#xff0c;可以执行以下命令&#xff1a; export …