编者按:在 OpenHarmony 生态发展过程中,涌现了大批优秀的代码贡献者,本专题旨在表彰贡献、分享经验,文中内容来自嘉宾访谈,不代表 OpenHarmony 工作委员会观点。

李东山
深圳市汇顶科技股份有限公司
系统软件工程师

大家好,我是李东山,来自深圳市汇顶科技股份有限公司,目前是 BLE 产品开发部的一名研发工程师,从 2021 年 9 月我开始承担 BLE SoC GR551x 接入 OpenAtom OpenHarmony(简称“OpenHarmony”)生态的适配任务,截止今年 1 月代码已经通过评审并合入主干,很高兴和团队一起共同见证从 0 到 1,顺利合并入主干,这是我首次参与这种大型开源项目,我希望将项目开发过程中的感受和经历分享给大家。

Q=OpenHarmony A=李东山

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 繁荣生态。

搜索

复制

李东山:如何让 OpenHarmony 支持低功耗蓝牙芯片 GR551x的更多相关文章

  1. OM6621P系列国产M4F内核低功耗BLE5.1 SoC蓝牙芯片

    随着5G与物联网时代到来,智慧城市.电动出行.智能家居.可穿戴设备等应用高速发展,低功耗蓝牙技术在近几年智能化浪潮中的地位也尤为重要.OM6621P系列的开发即是为解决国内低功耗蓝牙应用设计需求,其主 ...

  2. 永不消逝的电波(三):低功耗蓝牙(BLE)入门之如何调戏别人的小米手环

    0×00 前言 蓝牙(Bluetooth),一种无线技术标准,用来让固定与移动设备,在短距离间交换数据,以形成个人局域网(PAN).其使用短波特高频(UHF)无线电波,经由2.4至2.485 GHz的 ...

  3. Android 低功耗蓝牙BLE 开发注意事项

    基本概念和问题 1.蓝牙设计范式? 当手机通过扫描低功耗蓝牙设备并连接上后,手机与蓝牙设备构成了客户端-服务端架构.手机通过连接蓝牙设备,可以读取蓝牙设备上的信息.手机就是客户端,蓝牙设备是服务端. ...

  4. 全球最低功耗蓝牙单芯片DA14580的硬件架构和低功耗

    号称全球最低功耗蓝牙单芯片DA14580在可穿戴市场.健康医疗.ibeacon定位等市场得到广泛的应用,但是因为其较为封闭的技术/资料支持导致开发人员有较高的技术门槛,网络上也极少看到有关DA1458 ...

  5. android 低功耗蓝牙使用

    参考链接:http://blog.csdn.net/xubin341719/article/details/38584469 1.android 手机的低功耗蓝牙,又称BLE :BLE在andriod ...

  6. 转: ZigBee/Z-Stack CC2530实现低功耗运行的配置简介

    转: ZigBee/Z-Stack CC2530实现低功耗运行的配置简介http://bbs.elecfans.com/jishu_914377_1_1.html(出处: 中国电子技术论坛) 设备支持 ...

  7. NRF52833蓝牙5.1可用于105℃环境温度的Nordic蓝牙5.1 SoC能实现更广泛的并发多协议低功耗蓝牙、mesh和Thread应用

    Nordic Semiconductor宣布推出nRF52833先进多协议系统级芯片(SoC),这是其广受欢迎且验证通过的nRF52系列的第五个新成员.nRF52833是一款功耗超低的低功耗蓝牙 (B ...

  8. TurnipBit—MicroPython开发板:妥妥拽拽零基础也能玩编程

    可视化编程网站入口:www.turnipbit.com 说到编程.谈到硬件,你也许会想到屌丝逆袭女神的"传奇"故事,也许会浮现出带着眼镜.头发稀少.无精打采的程序猿形象." ...

  9. 有没有比NRF51822更好的智能穿戴蓝牙方案

    现在在智能穿戴领域市场不断的追求低功耗.低成本的蓝牙芯片.蓝牙芯片目前除了Dialog公司研制蓝牙芯片是最求超低功耗的但是对于其它性能上还比较满足不了其它领域的功能,另外NORDIC.TI的蓝牙芯片虽 ...

  10. 国产超低功耗蓝牙5.0 PHY6202替换NRF51822

    现在在智能穿戴领域市场不断的追求低功耗.低成本的蓝牙芯片.蓝牙芯片目前除了Dialog公司研制蓝牙芯片是最求超低功耗的但是对于其它性能上还比较满足不了其它领域的功能,另外NORDIC.TI的蓝牙芯片虽 ...

随机推荐

  1. 08、Etcd 中MVCC原理

    本篇内容主要来源于自己学习的视频,如有侵权,请联系删除,谢谢. 1.什么是 MVCC MVCC(Multiversion concurrency control)是一个基于多版本技术实现的一种并发控制 ...

  2. Nebula Graph 1.0 Release Note

    Nebula Graph 1.0 发布了.作为一款开源分布式图数据库,Nebula Graph 1.0 版本旨在提供一个安全.高可用.高性能.具有强表达能力的查询语言的图数据库. 基本功能 DDL & ...

  3. Java toString的使用

    1 package com.bytezreo.objectclass; 2 3 import java.util.Date; 4 5 /** 6 * 7 * @Description Object类中 ...

  4. Abp.Zero 手机号免密登录验证与号码绑定功能的实现(三):Vue网页端开发

    前端代码的框架采用vue.js + elementUI 这套较为简单的方式实现,以及typescript语法更方便阅读. 首先来编写发送验证码函数, 登录,绑定,解绑的业务都需要发送验证码功能,通过c ...

  5. MP实现ID自增 &日志 &自动填充 & 逻辑删除 &乐观锁

    默认ID自增 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl 此时的依赖 <dep ...

  6. P2670 [NOIP2015 普及组] 扫雷游戏

    题目背景 NOIP2015 普及组 T2 题目描述 扫雷游戏是一款十分经典的单机小游戏.在 nn 行 mm 列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格).玩家翻开一 ...

  7. FastWiki v0.1.0发布!新增超多功能

    FastWiki 发布 v0.1.0 https://github.com/239573049/fast-wiki/releases/tag/v0.1.0 更新日志 兼容OpenAI接口格式 删除Bl ...

  8. Android 优雅的Activity回调代码封装

    原文地址: Android 优雅的Activity回调代码封装 - Stars-One的杂货小窝 之前提到Jetpack架构组件学习(3)--Activity Results API使用 - Star ...

  9. [置顶] linux与windows之间传输文件工具rz上传大文件失败问题解决方案

    rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具. windows端需要支持ZModem的telnet/ssh客户端(比如SecureCRT),运行命令rz即是接收 ...

  10. Spring Boot学习日记18

    JDBCTemplate execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句: update方法及batchUpdate方法:update方法用于执行新增.修改.删除等语句:bat ...