【五】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'

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

OpenHarmony1.2
1.2 打Purple Pi OH补丁

 

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

$ 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
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: 012

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

2023-11-01 1108

失败时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/后再编译。

3.3四. 固件烧录

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

 

 

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

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

 

五.常见问题

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。

 

里面的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
 

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

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分