Purple-Pi-OH OHOS SDK编译手册

一、源码获取

1.1 源码获取

链接:百度网盘 请输入提取码

提取码:1234

$ mkdir purple-pi
#将下载的ido_purple_pi_oh_ohos3.2_sdk.tgz拷贝到purple-pi
$ cd purple-pi
$ md5sum ido_purple_pi_oh_ohos3.2_sdk.tgz 
e6ca2d96aa7c628992ae0bbf4d14c2ca  ido_purple_pi_oh_ohos3.2_sdk.tgz
#查看其md5sum与百度网盘里面的md5值是否一致,如果不一致请重新下载
$ tar xzvf ido_purple_pi_oh_ohos3.2_sdk.tgz -C .
$ git reset --hard
不允许 [attr]noeol -text:third_party/python/.gitattributes:25
不允许 [attr]dos text eol=crlf:third_party/python/.gitattributes:36
不允许 [attr]generated linguist-generated=true diff=generated:third_party/python/.gitattributes:63
正在更新文件: 100% (701090/701090), 完成.
HEAD 现在位于 355831a8b1 industio first commit

1.2 补丁更新及获取链接

链接:百度网盘 请输入提取码

提取码:1234

#将下载的补丁放到源码根目录下,并执行以下命令
$ git am 0001-add-codec-and-libomx.patch
Applying: add codec and libomx
.git/rebase-apply/patch:30: trailing whitespace..git/rebase-apply/patch:52: trailing whitespace.warning: 2 lines add whitespace errors.

验证是否打上补丁

#执行git log命令,出现以下信息即成功打上补丁
$ git log
commit a4dbfd187a99fdb0813bc9ed065ea597c3c40da6 (HEAD -> master)
Author: lyle <120637011@qq.com>
Date:   Fri Jun 30 13:42:26 2023 +0800add codec and libomx

二、环境搭建

建议使用Ubuntu20.04 LTS搭建开发环境,硬盘至少120GB,DDR至少4GB

2.1 安装工具包安装

sudo apt-get install aptitude
$ sudo aptitude install -y binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib gcc-arm-linux-gnueabi x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby genext2fs device-tree-compiler make libffi-dev e2fsprogs pkg-config perl openssl libssl-dev libelf-dev libdwarf-dev u-boot-tools mtd-utils cpio doxygen liblz4-tool openjdk-8-jre gcc g++ texinfo dosfstools mtools default-jre default-jdk libncurses5 apt-utils wget scons tar rsync git-core libxml2-dev lib32z-dev grsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools git-lfs
$ sudo apt-get install -y pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5 libstdc++6 vim ssh locales gcc-arm-linux-gnueabi

2.2 VirtualBox工程导入说明

这是基于Oracle VM VirtualBox 7.0;Ubuntu20登录

工程名称

ubuntu20_purple_pi_industio.ova

用户\密码

industio\1234

工程代码路径

/home/industio/share/rk3566/ido_purple_pi_oh_ohos3.2

三、SDK编译

3.1完整编译

$./build.sh --product-name purple_pi_oh --ccache

编译成功有如下日志:

[O[OHOS INFO]

[OHOS INFO] purple_pi_oh build success

[OHOS INFO] cost time: 0:41:56

=====build successful=====

失败时log所以位置:./out/purple_pi_oh/build.log

编译成功后生成的固件所以位置:./out/purple_pi_oh/packages/phone/images/

编译成功后的固件为arm64系统,屏幕为MIPI屏,改为HDMI显示可以使用如下单独编译内核的方法:./mkboot.sh HDMI

编译为arm32位系统,使用如下命令:

 $./build.sh --product-name purple_pi_oh --ccache --target-cpu arm

3.2单独编译内核

$rm ./out/kernel -rf
$./build.sh --product-name purple_pi_oh --build-target kernel --ccache
//MIPI屏:
$./mkboot.sh MIPI
//HDMI屏:
$./mkboot.sh HDMI

编译成功后生成的文件位置:./out/purple_pi_oh/packages/phone/images/resource.img 和boot_linux.img

注:单独编译内核需要在完整编译过的基础上。

3.3单独编译模块

$./build.sh --product-name purple_pi_oh --build-target xxx

例:./build.sh --product-name purple_pi_oh --build-target=audio_sample_capture

生成文件:./out/purple_pi_oh/hdf/drivers_peripheral_audio/audio_sample_capture

四、固件烧录

烧录参考:Purple-Pi-OH 固件烧录手册

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

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

相关文章

如何看待Unity新的收费模式?

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

公众号迁移个人可以迁移吗?

公众号账号迁移的作用是什么&#xff1f;只能变更主体吗&#xff1f;很多小伙伴想做公众号迁移&#xff0c;但是不知道公众号迁移有什么作用&#xff0c;今天跟大家具体讲解一下。首先公众号迁移最主要的就是修改公众号的主体了&#xff0c;比如我们公众号原来是A公司的&#x…

DAZ To UMA⭐二.设置DAZ导出的形态键 和 Daz贴图位置

文章目录 🟧 形态键介绍及在Unity3D中的用途1️⃣ Daz中的形态键2️⃣ Blender 中的形态键3️⃣ 形态键在Unity中的作用🟩 设置DAZ导出的形态键1️⃣ 找到要导出的形态键名称2️⃣ 打开导出面板3️⃣ 设置导出规则举例 : 导出身体Morphs举例:导出嘴部Morphs🟦 获取模型纹…

基于springboot+vue的旅游系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

【C++面向对象侯捷】8.栈,堆和内存管理

文章目录 栈&#xff0c;堆stack object的生命周期static local object的生命周期global object的生命周期heap objects 的生命期new&#xff1a;先分配memory&#xff0c;再调用构造函数delete: 先调用析构函数&#xff0c;再释放 memory动态分配所得的内存块&#xff0c;in V…

UE5读取json文件

一、下载插件 在工程中启用 二、定义读取外部json文件的函数&#xff0c;参考我之前的文章 ue5读取外部文件_艺菲的博客-CSDN博客 三、读取文件并解析为json对象 这里Load Text就是自己定义的函数&#xff0c;ResourceBundle为一个字符串常量&#xff0c;通常是读取的文件夹…

Linux知识

文章目录 一、Apt1、查看操作系统信息2、换源3、比较4、用法5、ubuntu获取源码 二、pkg-config三、调试glibc四、问题 一、Apt 1、查看操作系统信息 使用以下命令查看本机的操作系统和位数信息&#xff1a; uname -m && cat /etc/*release输出&#xff1a; x86_64 D…

【操作系统笔记十一】进程间通信

Linux文件系统 inode 节点 &#xff08;index node&#xff09;&#xff1a;给每个文件赋予一个称为 i 节点的数据结构。 inode 一开始是存储在硬盘中的&#xff0c;只有当文件被打开的时候&#xff0c;其对应的 i 节点才加载到内存中。 总结&#xff1a; Linux 中&#xff0c…

CHAPTER 11: DESIGN A NEWS FEED SYSTEM

Step 1 - Understand the problem and establish design scope Candidate: Is this a mobile app? Or a web app? Or both? Interviewer: Both Candidate: What are the important features? Interview: A user can publish a post and see her friends’ posts on the ne…

JAVA 二叉树超详解(1)

树形结构 概念 树是一种非线性的数据结构&#xff0c;它是由n(n>0)个有限结点组成的一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它根朝上&#xff0c;而叶朝下的&#xff0c;具有以下的特点&#xff1a; 1.有一个特殊的结点&…

云原生Kubernetes:K8S集群list-watch机制与 pod调度约束

目录 一、理论 1.K8S的list-watch 机制 2.亲和性 二、实验 1. 指定调度节点 2.节点亲和性 3.亲和性和反亲和 三、问题 1.新生成pod一直为pending 2.如何一次性删除pod和deployment 3.pod亲和性资源报错 4.pod反亲和性资源报错 四、总结 一、理论 1.K8S的list-wat…

【操作系统】24王道考研笔记——第五章 IO管理

第五章 IO管理 一、IO设备 1.1 基本概念与分类 1.2 IO控制器 电子部件 IO控制器组成 值得注意的小细节&#xff1a;①一个I/O控制器可能会对应多个设备&#xff1b; ②数据寄存器、控制寄存器、状态寄存器可能有多个&#xff08;如&#xff1a;每个控制/状态寄存器对应一个…

Java流式编程的使用

流式编程的使用步骤 使用流式编程的步骤就是: 设置数据源, 设置数据处理的方式,设置收集结果的方式。 使用filter方法实现过滤条件 例子为下&#xff08;查询年龄大于18的用户&#xff09;: Testpublic void streamTest1() {List<Student> students Arrays.asList(ne…

在gazebo仿真环境中加载多个机器人

文章目录 前言一、基本概念1、xacro2、Gazebo 加载单个机器人模型 二、原先launch文件代码三、 修改launch文件加载多个机器人总结 前言 单个机器人的各项仿真实验都基本完成&#xff0c;也实现了远程控制&#xff0c;接下来主要对多机器人编队进行仿真实验&#xff0c;在进行…

【EI会议征稿】第三届计算机图形学、人工智能与数据处理国际学术会议 (ICCAID 2023)

第三届计算机图形学、人工智能与数据处理国际学术会议 2023 3rd International Conference on Computer Graphics, Artificial Intelligence and Data Processing (ICCAID 2023) 第三届计算机图形学、人工智能与数据处理国际学术会议&#xff08;ICCAID 2023&#xff09;将于…

14.抽象工厂模式

UML 代码 #include <iostream> #include <list> using namespace std;class AbstractProductA { public:virtual void showa() 0; }; class ProductA1:public AbstractProductA { public:virtual void showa(){cout << "我是A1" << endl;}…

短视频矩阵系统源代码开发搭建分享--代码开源SaaS

一、什么是短视频矩阵系统&#xff1f; 短视频矩阵系统是专门为企业号商家、普通号商家提供帐号运营从流量 到转化成交的一站式服务方案&#xff0c;具体包含&#xff1a;点赞关注评论主动私信 &#xff0c;评论区回复&#xff0c;自动潜客户挖掘&#xff0c;矩阵号营销&#x…

工具及方法 - 二进制编辑软件

之前介绍过用Notepad和VSCode进行二进制文件编辑。 很多通用型的文本编辑器都会集成二进制文件编辑功能&#xff0c;或者使用插件等形式扩展此项功能。比如vi/vim等工具。 而且&#xff0c;作为文本编辑、二进制文件编辑一类的工具&#xff0c;数量众多&#xff0c;各有特色。…

机器学习 day36(纯度)

熵 这些例子的纯度和熵如图所示&#xff0c;且左侧为熵函数图熵函数是判断某组数据是否纯度高的指标 熵函数公式如上图&#xff0c;底数为2仅为了使函数峰值为1&#xff0c;且设定0log(0)为0&#xff0c;但log(0)为无穷大

Swift SwiftUI 隐藏键盘

如果仅支持 iOS 15 及更高版本&#xff0c;则可以通过聚焦和取消聚焦来激活和关闭文本字段的键盘。 在最简单的形式中&#xff0c;这是使用 FocusState 属性包装器和 focusable() 修饰符完成的-第一个存储一个布尔值&#xff0c;用于跟踪第二个当前是否被聚焦。 Code struct C…