编者按:在 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. 异步aioredis连接时报错TypeError: duplicate base class TimeoutError问题

    版本 python3.11版本,aioredis 2.0.1版本,redis 7.x版本 redis.conf配置文件 daemonize yes bind 0.0.0.0 port 6379 pro ...

  2. linux基本命令--day02

    目录树架构示意图 以下是对这些目录的解释: /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令. /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以 ...

  3. redis-cluster 性能调优

    关闭RDB防止fork进程的内存溢出问题 save "" appendonly=yes 防止某个节点挂掉,整个cluster挂掉的问题 cluster-require-full-c ...

  4. ECMA Script Module(ES module)知识点

    1.每个 ES Module 都是运行在单独的私有作用,ESM 自动采用严格模式,忽略use strict <script type="module">console. ...

  5. 新零售SaaS架构:订单履约系统的概念模型设计

    订单履约系统的概念模型 订单:客户提交购物请求后,生成的买卖合同,通常包含客户信息.下单日期.所购买的商品或服务明细.价格.数量.收货地址以及支付方式等详细信息. 子订单:为了更高效地进行履约,大订单 ...

  6. 迈向现代化的.NET配置指北

    一.欢呼 .NET Standard 时代   我现在已不大提 .NET Core,对于我来说,未来的开发将是基于 .NET Standard,不仅仅是面向未来 ,也是面向过去:不只是 .NET Co ...

  7. 聊聊CWE 4.14 与 ISA/IEC 62443中,如何保障工业软件的安全性

    本文分享自华为云社区<CWE 4.14 与 ISA/IEC 62443>,作者:Uncle_Tom. 1. 序言 随着 5G 的应用,物联的网发展,越来越多的自动化控制系统.云服务在工业控 ...

  8. STM32 LwIP学习过程问题总结(一):LwIP ping不通,抓包发现ICMP校验和为0x0000

    一.问题 今天在将之前的STM32 LwIP1.4.1版本程序移植到2.1.2版本上时,发现ping不同,但是开发板有ICMP回复包,黄颜色警告checksum为0x0000.说明LwIP移植应该是没 ...

  9. npm 添加 淘宝代理

    npm config set registry https://registry.npm.taobao.org

  10. WPF之事件

    目录 WPF的树形结构 事件 路由事件 使用WPF内置路由事件 自定义路由事件 ButtonBase类的Click路由事件 创建一个路由事件 RoutedEventArgs的Source与Origin ...