共计 2790 个字符,预计需要花费 7 分钟才能阅读完成。
编者按:在 OpenHarmony 生态倒退过程中,涌现了少量优良的代码贡献者,本专题旨在表彰奉献、分享教训,文中内容来自嘉宾访谈,不代表 OpenHarmony 工作委员会观点。
大家好,我是李东山,来自深圳市汇顶科技股份有限公司,目前是 BLE 产品开发部的一名研发工程师,从 2021 年 9 月我开始承当 BLE SoC GR551x 接入 OpenAtom OpenHarmony(简称“OpenHarmony”)生态的适配工作,截止往年 1 月代码曾经通过评审并合入主干,很快乐和团队一起独特见证从 0 到 1,顺利合并入主干,这是我首次参加这种大型开源我的项目,我心愿将我的项目开发过程中的感触和经验分享给大家。
Q1 作为开发畛域出名的技术大牛,您最后为什么会抉择退出 OpenHarmony 生态、参加开源共建呢?您认为,OpenHarmony 我的项目最吸引人的点在哪里?
OpenHarmony 是一款面向全场景、全连贯、全智能时代的分布式操作系统,它面向万物互联,十分符合咱们 BLE SoC 产品利用方向,抉择退出 OpenHarmony 生态,心愿能一起参加共建 OpenHarmony 生态系统,为促成万物互联和千行百业的凋敝倒退奉献咱们的一份力量。
OpenHarmony 代码遵循 Apache 2.0 等商业敌对的开源协定,所有企业、机构与个人均可基于 OpenHarmony 开源代码,联合本身劣势,去做各畛域的操作系统发行版及终端产品。
Q2 您在什么时候组建了 OpenHarmony 开源我的项目团队?通过多久实现了 GR5515 Starter Kit 开发板的适配,外围代码已合入主干,当初被 OpenHarmony PMC 委员会推选为“代码月度奉献之星”,真的太了不起了!您不便给咱们介绍一下这个产品吗,或者这段经验吗?这么短时间达成了这样好的成果,请问您的“秘诀”都有哪些呢?
咱们是在 2021 年的 9 月开始投入资源适配 OpenHarmony。通过两个多月的致力,将咱们首款 Bluetooth LE 轻量设施芯片 GR551x 系列 SoC 适配上 OpenHarmony,2021 年 11 月 18 日顺利通过 OpenHarmony 兼容性测评, 并于 2022 年 1 月 7 日正式合入 OpenHarmony 骨干。
$$
GR5515 Starter Kit 适配代码仓库
$$
可能在短时间内实现开发板适配工作不仅是因为咱们生态小组小伙伴们群策群力,通力配合,还得益于 OpenHarmony 齐备的开发平台和工具链,优良的代码框架,丰盛的文档资源。刚开始咱们的仓库在 SIG 上孵化,两次毕业问难评审后代码合入主干,非常感谢社区的老师们给予了很多业余领导和反对。
Q3 能开发出这么一个优良的产品,将外围代码合入主干,您和您的团队肯定付出了很多。能够请您给咱们分享一下,开发这个产品的整个过程,包含后期、中期、前期,您们具体都做了哪些工作,投入了多少人力和资源吗?
开发板适配后期,咱们对 OpenHarmony 轻量零碎进行了学习和调研,充沛评估可行性后开始尝试适配。万事开头难,刚开始适配 V1.1.2-LTS 版本,从搭建开发环境、相熟构建零碎、移植第一行代码,解决了很多难题,也踩过很多坑。终于,两周后零碎在咱们的 SoC 上稳固运行起来了。
我的项目中期咱们降级到了 V3.0.0-LTS,3.0 版本引入了许多新个性,咱们开始适配 HDF 驱动、BLE 接口、文件系统、低功耗等,并通过了兼容性测评。
我的项目前期咱们与骨干 master 版本对齐,master 版本引入 board 与 soc 拆散的先进设计理念,咱们对代码框架进行了大量重构优化,代码架构和标准都符合要求后,代码合入 OpenHarmony 骨干。
汇顶科技十分看好 OpenHarmony,咱们继续投入人力在该我的项目上,目前根本实现了首款 BLE Soc GR5515 芯片的适配工作,将来咱们也会对适配的代码进行继续优化和保护,同时也会积极参与轻量零碎的图形显示和 BLE IoT 方向的共建工作。
Q4 在整个开发过程中,您和您的团队遇到过哪些技术上或其余方面的难题?这些难题又是如何被逐个解决?在这些难题被解决的过程中,您总结了哪些贵重的教训 or 教训?
在开发初期,网上简直没有对 ARM 架构的轻量零碎移植适配的领导文档,构建环境也很简单,可参考的开发板就 3 块,对于我这种刚接触 OpenHarmony 的小白来说,不晓得怎么去退出咱们的代码,不晓得如何构建,差点被遇到的各种艰难“劝退”。好在 OpenHarmony 自带了一款基于 RSIC-V 架构的开发板样例,通过深入研究其编译框架和适配细节后,咱们将 SDK 移植到 OpenHarmony 并构建胜利。
OpenHarmony 对 ARM 和 RSIC-V 架构反对曾经十分全面,Cortex-M 内核相干的 arch 移植 liteos-m 曾经帮咱们做好,移植一款新的开发板只需重点聚焦在编译构建、BSP 移植、XTS 测试、业务性能开发上。
Q5 退出 OpenHarmony 生态以来,您最大的惊喜是什么?或者有哪些具体的播种?
自从退出 OpenHarmony 生态以来,我切身感受到它倒退的如此之快,从当初的 1.0 版本迭代到现在的 3.0 版本,每个版本都会带来许多实用的更新,开发板越来越多,文档也越来越丰盛,社区交换日渐沉闷,开发者参加共建也越来越容易。
我也始终在继续学习 OpenHarmony,学习过程中理解到了很多代码架构上的先进理念,为本人平时的开发工作带来了很大的帮忙,我也始终保持通过博客分享我的学习经验和开源移植案例。
Q6 期待将来 OpenHarmony 哪些方面可能失去改善、提供更多反对?
OpenHarmony 通过一年多的疾速倒退,编译构建、代码架构、文档反对、社区建设方面都做得十分优良。我集体期待,OpenHarmony 其配套 IDE DevEco Device Tool 能早点遍及,推动泛滥的开发板适配并反对,这样有利于给开发者和终端客户带来更便捷的体验。
Q7 OpenHarmony 目前仍处在开发摸索阶段,很多共建单位和生态搭档还不分明开源我的项目的玩法,或不知该如何着手进行开发。能够请您给大家分享一条,您认为最重要或最值得分享的心得吗?
开源我的项目的输入将为开发者提供更多的学习路径,点亮泛滥开发者前行的路线。我在开发过程中遇到了很多技术上的艰难,寻求不到他人的帮忙时,通过研读他人的开源代码找到了灵感和思路,开源其实也是一种互相学习,共同进步的高效路径。
Q8 开放性问题,能够畅所欲言,请问您还有话想通知大家?
非常感谢 OpenHarmony,为咱们提供了如此优良的操作系统,很快乐本人可能参加开源共建,为开源奉献出本人的一份微薄力量。从刚开始的“糊涂”小白,跟着 OpenHarmony 一起成长,尽管过程中充斥了挑战,但也播种很多。我真切感受到 OpenHarmony 的迅猛发展,心愿有更多企业、开发者一起参加共建 OpenHarmony 凋敝生态。