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

news2024/11/25 8:18:14

目录

简介

准备材料

安装开发环境

配置开发工具和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.coloradmin.cn/o/1589638.html

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

相关文章

书生潽语趣味 demo

创建开发机 使用 InternLM2-Chat-1.8B 模型生成 300 字的小故事 运行猪八戒模型试一下

linux使用docker实现redis主从复制和哨兵模式

目录 1. 拉取redis镜像 2.使用可视化redis工具 3. 设置从redis 4.设置哨兵模式 5. 使用docker-compose快速创建 1. 拉取redis镜像 docker pull redis 默认拉取最新的镜像。 然后pull结束后使用docker images检查镜像: 然后docker run创建container容器 首先…

统计 | Levene检验

Levene检验是方差齐性检验的一种,即检验各组样本方差是否相等的一种统计方法.它通常用于方差分析(ANOVA)前的一个步骤。Levene检验的零假设是各组的方差相等。 Levene检验的数学步骤如下: 1. 数据准备: 假设我们有个…

Scikit-learn 快速入门篇

Sklearn 简介 scikit-learn (sklearn) 是 Python 中用于机器学习的最流行的库之一。它提供了一系列有效的算法和工具,涵盖各种机器学习任务,包括: 分类回归聚类降维模型选择数据预处理 Sklearn 六大模块 分类:预测离散类别 算…

腾讯云向量数据库-RAG介绍

1.说明 RAG结合LLM(通用大预言模型)构件基于私有文档、专业领域知识、实时信息的charbot。 2.RAG的主要步骤 知识切片成chunk向量化chunk入库query检索知识chunk构件prompts调用llm生成回答 3.优势 快速构件demo快速理解rag社区支持 4.痛点 投入大效果差调优难 5.RAG应…

激光slam论文汇总

文章目录 2014LOAM: Lidar Odometry and Mapping in Real-time 2018LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain 2020LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping 2021LVI-SAM: Tightly-co…

多 线 程

1.什么是多线程? 有了多线程,我们就可以让程序同时做多件事情 2.多线程的作用? 提高效率 3.多线程的应用场景? 只要你想让多个事情同时运行就需要用到多线程 比如:软件中的耗时操作、所有的聊天软件、所有的服务器 1.进程和线程【理解】 …

PHP01——php快速入门 之 使用phpstudy快速搭建PHP环境

PHP01——php快速入门 之 使用phpstudy快速搭建PHP环境 0. 前言1. 下载小皮面板1.1 下载phpstudy(小皮面板)1.2 启动、简单访问1.2.1 启动Apache1.2.2 访问1.2.3 访问自定义文件或页面 2. 创建网站2.1 创建网站2.2 可能遇到的问题2.2.1 hosts权限问题&am…

靠谱的香港服务器有哪些(看过才后悔)_避坑血泪史

最受欢迎的外贸建站服务器就是香港服务器,可是很多人还不知道如何辨别香港服务器商家是否靠谱。 小编曾经也是建站新手,以前也碰到过很多不靠谱的服务器商家,各种踩坑,可以说都是用钱堆出来的经验。在这里小编给大家总结下&#…

ADG数据库迁移方案

一、环境说明 源库 目标库 IP 192.168.37.201 192.168.37.202 系统版本 RedHat 7.9 RedHat 7.9 数据库版本 19.3.0.0.0 19.3.0.0.0 SID pri std hostname primary standby 数据量 整个库 说明:源库已经创建数据库实例,目标库只有数据库软件。…

蓝桥杯— —小明的背包问题

小明的背包问题 小明的背包1 — — (01背包) 友情链接:小明的背包1 题目: 输入样例: 5 20 1 6 2 5 3 8 5 15 3 3 输出样例: 37思路: 对于01背包问题,其中一个重要的条件是每一种物品只有一个…

git查看单独某一个文件的历史修改记录

git查看单独某一个文件的历史修改记录 git log -p 文件具体路径 注意,Windows下默认文件路径分隔符是 \,在git bash 里面需要改成 /。 git基于change代码修改与提交_git change-CSDN博客文章浏览阅读361次。git cherry-pick:复制多个提交comm…

2023全国青少年信息素养大赛总决赛C++小学组真题

2023 全国青少年信息素养大赛总决赛C小学组真题 第一题 给定一个五位数x,你需要重复做以下操作: 把数的各个数位进行由大到小排序和由小到大排序,得到的最大值和最小值,进行求差后作为新的x。 可以证明,在经过有限次操作后&…

代码随想录算法训练营33期 第三十一天(补29) | 491. 非递减子序列、46. 全排列、47. 全排列 II

491. 非递减子序列 class Solution { public:vector<int> path;vector<vector<int>> result;void BackTracking(vector<int>& nums, int index){if(path.size()>2){result.push_back(path);}unordered_set<int> usedSet;for (int iindex…

爬取日本常用汉字秘籍

前言 昨天投简历时遇到了这样的一个笔试。本以为会是数据结构算法之类的没想到直接发了一个word直接提需求&#xff0c;感觉挺有意思就写了这篇文章&#xff0c;感兴趣的朋友可以看看。 1. 网页内容解析 首先&#xff0c;我们通过请求网页获取到日本常用汉字的链接列表。然后…

多线程java

多线程的创建 前两种方法无法返回直接结果,而有的线程执行完毕后需要返回结果 方式一:java是通过java.lang.Thread类的对象来代表线程的 启动线程必须调用strat方法,不是调用run方法不要把主线程任务放在启动子线程之前 //1.让子类继承Thread线程类 public class MyThread …

逻辑卷和磁盘配额

文章目录 一、逻辑卷二、磁盘配额 一、逻辑卷 为什么会出现技术&#xff1f; 分区的缺点&#xff1a; 没有备份功能无法扩容性能取决于硬盘本身 相关概念 LVM 是 Logical Volume Manager 的简称&#xff0c;译为中文就是逻辑卷管理。它是 Linux 下对硬盘分区的一种管理机制。…

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

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

STC8H8K64U 库函数学习笔记 —— GPIO 点灯

STC8H8K64U 库函数学习笔记 —— GPIO 点灯 环境说明&#xff1a; 芯片&#xff1a;STC8H8K64U 软件&#xff1a; KeilC51 μVersion V5.38.00STCAI-ISP (V6.94) 不得不说&#xff0c;Keil 是我用过的 IDE 中&#xff0c;最让人头疼的事情&#xff0c;写代码就像是在记事本里编…

【进阶篇】三、Java Agent实现自定义Arthas工具

文章目录 0、客户端代码1、JMX2、实现&#xff1a;查看内存使用情况3、实现&#xff1a;查看直接内存4、实现&#xff1a;生成堆内存快照5、实现&#xff1a;打印栈信息6、实现&#xff1a;打印类加载器的信息7、实现&#xff1a;打印类的源码8、需求&#xff1a;打印方法的耗时…