Purple Pi OH鸿蒙开发板7天入门OpenHarmony开源鸿蒙教程【五】

在完成了Purple Pi OH大部分的接口测试之后,紧接着就是一个充满挑战的任务------利用SDK来编译生成我们自己的镜像文件。通过这一过程,不仅能够让你获得一个可在真实硬件上运行的系统镜像,更重要的是,它让你对OpenHarmony系统的构建和编译过程有了更加深刻的理解。

现在,让我们拿起键盘,开始这段编译旅程吧!

一.源码

OpenHarmony4.0Release说明地址如下:

https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v4.0-release.md

1.1 源码获取

$ repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v4.0-Release --no-repo-verify
$ repo sync -c
$ repo forall -c 'git lfs pull'

**注:**获取的是与版本发布时完全一致的源码,如下图所示:

1.2 打Purple Pi OH补丁

直接下载地址如下:

purple-pi-oh-patch.zip

网盘下载地址链接如下:

https://pan.baidu.com/s/1fEYtgr1qmFNHi2IjPBb83g?pwd=1234

提取码:1234

下载后将补丁放到当前代码根目录下,然后执行如下命令:

$ unzip purple-pi-oh-patch.zip

$ cd purple-pi-oh-patch/

$ ./ido_patch.sh

二.环境搭建

建议使用Ubuntu20.04 LTS搭建开发环境。

2.1 USB挂载查看

下载安装参考如下:

https://blog.csdn.net/weixin_55989896/article/details/123306757

**注:**新建虚拟机时,建议分配磁盘容量至少120GB,DDR至少4GB。

2.2 安装工具包

将以下命令复制到终端,按照提示输入用户密码和确认即可

$ sudo apt-get update

$ 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

**注:**这里可能产生获取不到软件包、发现不到版本、在后续编译过程中产生命令找不到的报错等,根据错误提示配置需要的环境即可。

三.SDK编译

3.1 完整编译

编译命令如下:

$ bash build/prebuilts_download.sh
$ ./build.sh --product-name purple_pi_oh --ccache --no-prebuilt-sdk

编译成功后,输出日志如下:

[OHOS INFO] purple_pi_oh build success

[OHOS INFO] Cost time: 0:46:12

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

2023-11-01 11:32:08

失败时log所在位置:

./out/purple_pi_oh/build.log

编译成功后生成的固件所在位置:

./out/purple_pi_oh/packages/phone/images/

3.2 编译不同dts

device/board/industio/purple_pi_oh/kernel/build_kernel.sh

中的修改为IDO-RK3566-PI-HDMI

编译为MIPI固件则改为:IDO-RK3566-PI-MIPI

删除out/kernel/后再编译。

四. 固件烧录

4.1 hdc list targets命令查找不到设备

编译成功后可以通过U盘、Samba、NFS等方法将文件导出到本机。

Samba和NFS的配置方法大家可以自行搜索下,主要方便虚拟机和物理机之间共享文件。

烧录参考:本系列文章DAY2固件烧录部分

或Purple Pi OHOS固件烧录手册:

https://industio.yuque.com/industio/gyzv1h/od20t4mgngz05lu8?singleDoc# 《Purple-Pi-OH OHOS 固件烧录手册》

附:【深圳触觉智能有限公司】提供的固件下载链接:

https://pan.baidu.com/s/1g-Oq29CNtiCo1IiPWyJSKA?pwd=1234

提取码:1234

**注:**其他版本OpenHarmonyOS编译请参考官方手册:

https://industio.yuque.com/industio/gyzv1h/zdracpm2pc9r51dy?singleDoc# 《Purple-Pi-OH OHOS SDK使用手册》

五.常见问题

5.1 源码下载失败

**解决方案:**尝试"OpenHarmony4.0Release说明"gitee链接中其他获取方法。

5.2 无法定位软件包

解决方案:

①执行sudo apt update

②再次安装命令

③仍无法定位软件包请查询更换镜像源相关教程

5.3 烧录mipi固件系统一直重启

解决方案:

没有接i2c触摸屏,系统开机后检测不到会重启;如果触摸坏了,可以在ido-pi-oh3566-mipi-v1.dts里关闭2c1

&i2c1 {

status = "disabled";

};

5.4 系统启动后进入不到桌面

解决方案:

当前系统有 bug,当出现此种问题时,需要执行 killall com.ohos.launcher。

此问题可以下载:

https://pan.baidu.com/s/1fEYtgr1qmFNHi2IjPBb83g?pwd=1234

提取码:1234

里面的hap文件替换applications\standard\hap\下的同名文件。

5.5 双频WIFI模块蓝牙打不开

解决方案:

双频WIFI模块为AW-NM256需要更换hcd文件:

把vendor\industio\purple_pi_oh\bluetooth\src\hardware.c中的BCM43430A1.hcd改为BCM4345C0.hcd再编译。

5.6 怎样编译full-sdk

解决方案:

./build.sh --product-name ohos-sdk

编译完成后在out\sdk\packages\ohos-sdk则为不同平台的full-sdk

**注:**其它FAQ问题可以进入FAQ专区查找对应问题:

https://ask.industio.com/questions/OpenHarmony

记住,每一次编译都是一次新的探索,每一次错误都是学习的机会。因此,即使遇到困难,也不要灰心,反而应该把它视为成长的阶梯。

相关推荐
breaksoftware13 分钟前
低代码开源项目Joget的研究——Joget8社区版安装部署
低代码·开源
星就前端叭19 分钟前
【开源】一款基于SpringBoot的智慧小区物业管理系统
java·前端·spring boot·后端·开源
陌夏微秋1 小时前
STM32单片机芯片与内部47 STM32 CAN内部架构 介绍
数据库·stm32·单片机·嵌入式硬件·架构·信息与通信
JasonYin~2 小时前
HarmonyOS NEXT 实战之元服务:静态案例效果---我的快递查询
harmonyos
nemo2012_20203 小时前
VisualRules华为应用场景介绍
华为·规则引擎·财务系统·财经系统
深海的鲸同学 luvi6 小时前
【HarmonyOS NEXT】鸿蒙原生应用“上述”
华为·harmonyos
play_big_knife6 小时前
鸿蒙项目云捐助第二十八讲云捐助项目首页组件云数据库加载轮播图
数据库·华为·harmonyos·鸿蒙·云开发·鸿蒙开发·鸿蒙技术
李洋-蛟龙腾飞公司11 小时前
HarmonyOS Next 应用元服务开发-应用接续动态配置迁移按需迁移页面
华为·harmonyos
JasonYin~11 小时前
HarmonyOS NEXT 实战之元服务:静态案例效果---查看手机历史记录
华为·harmonyos
鸿蒙程序媛11 小时前
2024最新鸿蒙开发面试题合集(二)-HarmonyOS NEXT Release(API 12 Release)
harmonyos·harmonyos面试题