STM32F407移植OpenHarmony笔记1

参考文档:

OpenAtom OpenHarmonywidth=device-width,initial-scale=1.0icon-default.png?t=N7T8https://docs.openharmony.cn/pages/v3.2/zh-cn/device-dev/get-code/gettools-acquire.md/

搭建环境

安装linux系统:

Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-91-generic x86_64)

下载源代码:我选择的是V3.2.4版本

https://repo.huaweicloud.com/openharmony/os/3.2.4/code-v3.2.4-Release_20231113.tar.gz

安装docker:

sudo apt install docker.io

下载docker镜像: 单片机用的是轻量系统,因此选择对应的mini镜像

sudo docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_mini:3.2

创建docker容器:给它取个别名叫ohos3,以后记得都用它,避免每次都重新创建新容器。
-v $(pwd):/home/openharmony参数是把当前目录映射到容器内的/home/openharmony。

#创建并运行docker
sudo docker run --name ohos3 -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_mini:3.2
#当需要重新进入docker的时候用:
sudo docker start -ai ohos3

后续代码编译都是在docker内进行。

验证环境:

解压源码:

tar -xvf ./code-v3.2.4-Release_20231113.tar.gz

进入源码根目录:

OpenHarmony-v3.2.4-Release/OpenHarmony

安装hb工具:

默认情况下,用官方文档的方法:python3 build.py -p {product_name}@{company}是编译不了的。
需要安装hb,后续也建议用hb命令来编译。

pip install --user build/lite

安装成功后,输入hb,可以看到命令提示:

root@46010c9c023d:/home/openharmony# hb
usage: -c [-h] [-v] {build,set,env,clean,tool} ...OHOS Build System version 0.4.6positional arguments:{build,set,env,clean,tool}build               Build source codeset                 OHOS build settingsenv                 Show OHOS build envclean               Clean outputtool                Call the gn command through the hb tooloptional arguments:-h, --help            show this help message and exit-v, --version         show program's version number and exit

编译测试:用hb set选择要编译的目标,然后执行build,我们先测试qemu_mini_system_demo

hb set
hb build

跑完一堆[OHOS INFO]之后,会看到成功提示:

[OHOS INFO] qemu_mini_system_demo build success
[OHOS INFO] cost time: 0:00:06

最终编译出来的文件在out目录,一个叫OHOS_Image的文件。

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

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

相关文章

如何在转接的NVME 固态盘上安装WIN 系统并引导启动

问题: 家里的台式机一直挂着一块128G的SSD固态盘,由于家里自己建了NAS存储,所以基本数据都在NAS里,台式机就没有挂机械盘了,但是最近台式机空间被系统侵蚀,显然就不够用了,除了清理系统&#xf…

bash 5.2中文修订4

Compound Commands 复合命令 复合命令是 shell 编程语言的结构。每个构造都以保留字或控制运算符开始,并以相应的保留字或运算符终止。与复合命令关联的任何重定向(请参阅 Redirections )都适用于该复合命令中的所有命令,除非显式…

vue3使用AntV G6 (图可视化引擎)历程[二]

上期回顾:历程[一]描述了基本的树状图的绘制,默认节点类型defaultNode中的type是circle,下面这篇描述的是节点抽离自定义节点并做数据静态渲染。 官网地址:https://g6-next.antv.antgroup.com/manual/introduction 一、案例效果 二、自定义节…

使用CSS 或 SASS 实现主题背景切换效果

目录 🎉应用背景 🎉分析实现思路 🎉CSS实现主题切换 🎉SCSS实现主题切换 🎉结语 🎉应用背景 现在的主流网站中,无论是一些技术文档获取官网,都存在着使用一个switch按钮实现主题…

Nginx与keepalived实现集群

提醒一下:下面实例讲解是在mac虚拟机里的Ubuntu系统演示的; Nginx与keepalived实现集群实现的效果 两台服务器都安装Nginx与keepalived: mater服务器的ip(192.168.200.2) backup服务器的ip(192.168.200.4) 将 mater服务器Nginx与keepalived都…

【DG 特长生2019】模拟赛赛后总结(2024.1.24)

打了330pt,订正后350pt T1 签到 T2 dfs剪枝(虽然我写挂了) T3 NOIP原题 T4 floyd 主要是想分享一下T4。 写了一种基于floyd的做法。 感觉好像和大部分人的写法不太一样。 因为看到大小关系,我就想到了传递性。 floyd是可以维护传递…

Unity中URP下获取每一个额外灯数据

文章目录 前言一、我们先来看一下 SimpleLit 中的调用二、获取额外灯索引1、非移动平台2、非GLES平台3、大多数平台 三、获取额外灯数据 前言 在上一篇文章中,我们知道了URP下是怎么获取额外灯数量的。 Unity中URP下获取额外灯数量 在这篇文章中,我们…

虹科分享丨AR与AI融合加速,医疗护理更便捷!

来源:虹科数字化与AR 虹科分享丨AR与AI融合加速,医疗护理更便捷! 原文链接:https://mp.weixin.qq.com/s/Fi0wNfk_TDXRo_1-6cSRNQ 欢迎关注虹科,为您提供最新资讯! #AR眼镜 #医疗护理 根据Reports and Da…

MySQL函数—流程函数

MySQL函数—流程函数:用于实现条件筛选,从而题搞语句的效率。 MySQL函数—流程函数 函数功能IF(value,t,f)如果value为true,则返回t,否则返回fIFNULL(value1,value2)如果value1不为空,返回value1,否则返回v…

5G安卓手机定制_基于天玑900的安卓主板方案

5G安卓手机方案是一款采用联发科MT6877(天玑900)平台的高性能、可运行安卓操作系统的5G智能模块。该手机采用台积电6纳米低功耗工艺,主频高达2.4GHz,内存支持LPDDR5,并支持5G Sub-6GHz全频段和5G双载波聚合技术等多种制式。同时,该…

docker相关

下载Ubuntu18.04文件64位(32位安装不了MySQL) https://old-releases.ubuntu.com/releases/18.04.4/?_ga2.44113060.1243545826.1617173008-2055924693.1608557140 Linux ubuntu16.04打开控制台:到桌面,可以按快捷键ctrlaltt 查…

国民技术N32G430C8开发笔记一-新建IAR工程

一、创建IAR工程 1、新建工程,保存到project文件夹。 2、添加SDK到工程。 根据原厂SDK的文件结构在IAR新建相应分组,把各个文件夹的文件加载进去,其中startup文件选择IAR平台的startup_n32g430_EWARM.s。 3、添加头文件路径&#xff0…

2024-01-24(ElasticSearch)

1.mysql和elasticsearch的架构: 2.IK分词器利于分中文词汇。 底层是有一个中文字典,这个字典中的中文词汇也是可以拓展的和禁用某些词。 3.mapping常见属性: type:数据类型 index:是否索引 analyzer:分…

重设红帽Linux root密码:简单实用指南

在使用红帽Linux系统时,我们可能会遇到忘记root密码的情况红帽linux系统root密码,这时候该怎么办呢?本文将详细介绍如何重置红帽Linux系统的root密码。 1.进入单用户模式 首先,我们需要进入单用户模式。开机时红帽linux系统root…

一个使用pyqt的word文档查重工具

一个使用pyqt的word文档查重工具 使用场景代码使用截图打包好的软件下载链接结尾 使用场景 有时我们在借鉴一篇文档之后还不想有太多重复,这个时候可以使用这个工具对两个word文档进行对比 代码 import sys from PyQt5.QtWidgets import QApplication, QMainWind…

Redisson 分布式锁解决主从一致性问题的原理

目录 一、主从不一致产生原因 二、Redisson 解决主从一致性的原理 一、主从不一致产生原因 1. Redis 主从集群:主从读写分离,主节点将数据同步给从节点 主节点:增删改从节点:读 2. 主从同步存在延迟,若主节点宕机…

前端开发提高效率的两大工具

一、浏览器中的开发者工具 怎么启动开发者工具? 在浏览器中按下F12或者鼠标右键点击检查 怎么利用(常用的几点)? 1、元素 点击标红的图标可以用于在页面选择元素,同时右侧会找到元素在前端代码中的位置 点击下方红…

Hudi学习笔记(一)

大数据发展背景 Hudi用于管理分布式文件系统上大型分析数据集存储,支持Spark和Flink整合。它能够是DFS数据集在分钟级时延内支持变更,也支持下游系统对这个数据集的增量处理。 学习目标 什么是数据湖为什么使用数据湖Hudi基本功能如何编译Hudi源码Hud…

vue 解决:Module not found: Error: Can‘t resolve ‘vue-router‘ 的问题

1、问题描述: 其一、报错为: Module not found: Error: Cant resolve vue-router 中文为: 找不到模块:错误:无法解析“vue-router” 其二、问题描述为: 根据报错的中文信息可知:应该是无法…

【linux】远程桌面连接到Debian

远程桌面连接到Debian系统,可以使用以下几种工具: 1. VNC (Virtual Network Computing) VNC(Virtual Network Computing)是一种流行的远程桌面解决方案,它使用RFB(Remote Framebuffer Protocol&#xff0…