企业号介绍

全部
  • 全部
  • 产品
  • 方案
  • 文章
  • 资料
  • 企业

电子发烧友论坛

168内容数 9.5k浏览量 33粉丝

百万电子工程师社区平台

【人物访谈】熊磊:成功移植 OpenHarmony 到多套开发板,是最开心的事

05-24 16浏览量

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

 

熊磊
 

华为技术有限公司

OS高级开发工程师

 

OpenAtom OpenHarmony(以下简称“OpenHarmony”)是由开放原子开源基金会孵化及运营的开源项目,每一位开发者都可以基于 OpenHarmony 做开发。自成立以来,OpenHarmony 吸引了众多开发者的加入,现有 6 大开发者社区专区建设(CSDN、51CTO、开源中国、思否、电子发烧友、InfoQ,排名不分先后),104 个高校阵地(有组织者的高校)。发布的技术直播、视频课程、技术解读文章、开发者稿件等累计覆盖观众人数 2500 万人。


构建开源生态,需要让开发者先用起来,而这离不开各种类型、可提供各种功能需求的开发板。提供基础集成开发环境、软件源代码、硬件原理图,方便初学者快速地了解和学习 OpenHarmony 系统的硬件和软件知识,开发板是 OpenHarmony 开源生态建设中的重要一环。将 OpenHarmony 版本移植到 Hi3516DV300、rk3568 等多套开发板套件中的,正是熊磊及其团队。

 

 

本期 OpenHarmony 开发者故事,我们采访了 OpenHarmony 启动子系统的负责人,OpenHarmony PMC 委员会推举的“代码贡献月度之星”——熊磊。


熊磊和团队一起负责启动子系统的特性开发、产品定制、生态拓展和代码维护等工作。这个模块控制整个系统的启动管理,体系非常复杂,如此艰巨的任务,他们要如何完成?开发过程中,遇到典型的内存溢出难题,他们又是如何精准排查,并形成问题分析文档,后续防患于未然的?满满干货,不容错过!我们将专访内容整理如下,希望对你有所启发。

 

 

 

Q:OpenHarmony A=熊磊

 

Q1:请熊磊简要介绍下自己和所带团队


大家好,我是熊磊,目前是 OpenHarmony 启动子系统的负责人。我和我的团队负责启动子系统的特性开发、产品定制、生态拓展和代码维护等工作。我对物联网、嵌入式、操作系统有着浓厚的兴趣,从事这个行业有12年的时间了。

 

 

Q2:作为开发领域知名的技术大牛,您最初为什么会选择加入OpenHarmony生态、参与开源共建呢?您认为,OpenHarmony项目最吸引人的点在哪里?


在移动操作系统领域,不管是 iOS,还是 Android,我们始终都是追随者。先是丰富 iOS 的应用市场,后来集成 Android 系统,与全世界一起共建 Android 生态,一直都在跟随别人的脚步前行。

 

我几年前听说 OpenHarmony 的时候,就希望能够参与进去开发我们自己的移动操作系统。如今能够有幸参与到 OpenHarmony 的生态共建中,也算是实现了当初的愿望。

 

OpenHarmony 吸引我的地方很多,从定位来看,它是一个创新的移动操作系统,令人振奋;从技术架构来看,它的模块化设计,也让人眼前一亮。我相信 OpenHarmony 新服务、新硬件、新交互的设计理念,将会给大家带来全新的体验。

 

 

Q3:这次您被OpenHarmony PMC委员会推举为“代码贡献月度之星”,意味着您对OpenHarmony项目的贡献已经属于业界顶尖水平,十分了不起!加入OpenHarmony这么短的时间却达成了这样好的效果,请问您的“秘诀”是什么?您是否方便从业务角度具体介绍一下,怎么才能让开发者更加满意,把开源共建做得更好?

 

没有什么”秘诀“啦,我一直相信兴趣是最好的老师,也是最大的动力。

 

OpenHarmony 还处在起步阶段,尚有大量的工作需要完成。我非常荣幸能够在初始阶段就参加到这样一个事业中。我参与的模块,是系统的启动部分,负责整个系统的启动管理。它涉及到各子系统,而每个子系统又都有自己的诉求,整个体系非常复杂。肩负如此重要的任务,我压力不小,也动力十足。

 

OpenHarmony 作为一个年轻的 OS,需要吸引更多的开发者进行生态共建,才能更好地发展。项目组需要多倾听开发者的声音,了解大家的痛点和诉求,解决开发者参与共建过程中的现实问题。另外,做好 OpenHarmony 的宣传也很重要。开发者了解这个系统,对它产生兴趣了,就会愿意参与进来。

 

 

Q4:您和您的团队小伙伴,在参与OpenHarmony项目贡献的过程中,一定有一些刻骨铭心/印象深刻的经历,比如文档被转载、被committer认可、被合并代码、被授予荣誉、被开发者夸赞之类。可以给我们分享一下吗?

 

每一次的 master 代码提交,都是非凡的体验。看到我们的努力成果,终于要合入主线了,内心既激动,又忐忑。

 

有时候,一个重大特性的合入,涉及的代码量会非常大。我和团队的小伙伴们,就需要每天晚上忙活很久,确保编译通过、设备能正常启动,并关注静态检查的告警。当我们看到已合入的标签时,才会如释重负,感觉所有的辛苦都很值得。

 

 

Q5:在整个开发进程中,您和您的团队遇到过哪些技术上或其他方面的难题呢?这些难题又是如何被逐一解决的?在这些难题被解决的过程中,您总结了哪些宝贵的经验or教训呢?

 

首先简单介绍下 OHOS 启动,init 组件负责处理从内核加载第一个用户态进程开始,到第一个应用程序启动之间的系统服务进程的启动过程。OHOS 启动简单的逻辑框架如下图 5-1 所示,其中 init 阶段主要负责启动引导管理、服务管理,以及系统、服务的配置项的管理等。

 

图 5-1

 

我们在前期 init 提供的能力基础上,通过持续改进方案,不断增强能力、优化效率。例如增加进程频繁退出的抑制机制,增加支持应用、系统组件及芯片组件进程的沙盒运行环境,增加支持服务分组的配置、并行启动依赖的同步机制、可通过沙盒孵化的应用等,如下图 5-2 所示。

 

图 5-2

 

我们各种各样的难题都遇到过,比较典型的是一个内存问题。当时,我跟团队里面的技术专家,一整天在远程电话会议讨论这个问题。大家群策群力,提出自己的想法并逐个排查验证,最后发现问题是另外一个流程里面的 malloc 内存空间访问越界所致。两个似乎完全不相关的流程,发生了内存踩踏的情况。问题得到解决后,我们进行了内部的复盘,并输出一份问题分析文档。

 

内存问题一旦出现,会很难排查,关键在于预防。所以一个良好的编码规范非常重要。只要有良好的编码习惯,就能有效规避内存的越界、溢出。后期,我们不定时在团队内部进行分享、总结,就是要确保同样的错误,绝不再犯。

 

 

Q6:加入OpenHarmony生态以来,您最大的惊喜是什么?或者有哪些具体的收获?

 

最大的喜悦是成功将 OpenHarmony 版本移植到多套开发板套件(Hi3516DV300、rk3568 等)中,为开发者提供了方便学习的开发环境。当看到开发者能将理论付诸实践,所有人共同开发、共同贡献,OpenHarmony 系统不断完善,心中的成就感难以言表。

 

 

此外,在这个过程中结识了很多朋友,参与不同的 SIG 组,学习到了很多新的知识,这些也都是收获。

 

 

Q7:您期待未来OpenHarmony哪些方面能够得到改善、提供更多支持?


我觉得性能方面有待提高,上手体验不是特别良好。OpenHarmony 的调试手段也比较缺乏,没有 trace。

 

 

Q8:OpenHarmony目前仍处在开发探索阶段,很多共建单位和生态伙伴还不清楚开源项目的玩法,或不如该如何着手进行开发。可以请您给大家分享一条,您认为最重要或最值得分享的心得吗?


重要的是多关注社区,多参与 SIG,多交流。现在网上的 OpenHarmony 资料,确实不是特别多,但代码都是开源的。社区有各种微信群,其中的绝大多数开发者也都是中国人,大家在沟通方面不会有任何困难。我相信共建单位和生态伙伴之间多多交流,一定会有非常大的收益。

 

 

Q9:开放性问题,可以畅所欲言,请问您还有什么掏心窝的话想告诉大家?


我这一路走来,从刚开始参与 OpenHarmony 时的不知所措,到如今在 OpenHarmony 社区贡献了大量的代码,是有苦也有甜。

 

OpenHarmony 从一开始的几十个仓,成长为现在的庞然大物。看到有越来越多的人在关注和了解 OpenHarmony,也有越来越多的人参与到系统的开发中来,我的内心有种自豪,因为我也是其中的一员。衷心祝愿 OpenHarmony 越来越好!

 


 

最近浏览过的用户(0查看全部

为你推荐

  • 【热门资讯】专为无刷直流电机设计的单片机现世!取代有刷已成大势?2022-06-26 01:27

    在节能减排已经成为消费者的新需求时,各种工业企业也开始了转型,配合国家的政策向节能减排发展。在动力部分,要想配合节能减排的方针政策,主要就是提高技术,选择适合的电机,那么什么电机既能满足生产需求又能做到节能减排呢?有刷电机与无刷电机有刷电机由上图动画可以看到:在磁场中放置线圈,通过流动的电流,线圈会被一侧的磁极排斥,同时被另一侧磁极所吸引。电机中的换向器部分
    5浏览量
  • 【选型攻略】选择使用贴片保险丝时要注意的5个细节2022-06-26 01:25

    贴片保险丝,顾名思义,保险丝的形状是贴片状的,也有人叫它方形保险丝。根据保险丝熔断速度反应速度等等,我们一般分为以下4种类型。(1)慢速熔断型/时间延迟型保险丝;(2)双重合金慢速熔断型保险丝;(3)快速反应型保险丝;(4)特快速反应保险丝。在现实应用中,如何确定选择哪种保险丝更合适呢?慢速熔断型保险丝非常适合用于含有瞬间电流突波或开机突波流入的电路。这些电
    2浏览量
  • 【新品发布】三年磨一剑 只为开源教育!OpenHarmony开源大师兄发布会即将启幕2022-06-26 01:23

    开放、共享、共建OpenHarmony开源大师兄新品发布会2022年6月30日10:00AM2019年12月521位教师联合发起历时三年探索不止2022年6月相约线上正式开启诚邀您一起见证人工智能教育开源板发布扫码预约直播参与直播互动,即有机会免费获得”大师兄开发板“~转发下图,参与有奖分享活动原文标题:【新品发布】三年磨一剑只为开源教育!OpenHarmo
    3浏览量
  • 【成长计划】三天入门深度学习,跟着UP主一起创作吧~2022-06-26 01:21

    深度学习是人工智能革命中的关键技术基于深度卷积网络的图像分类技术准确率已超过人眼;基于深度神经网络的语音识别技术准确率已达到95%;基于深度神经网络的机器翻译技术已接近人类的平均翻译水平。准确率的大幅提升推动产业兴起,人工智能进入产业化阶段。边缘计算设备的能力也在不断提升,各大厂商最新发布的SoC都配备有算力不俗的NPU,技术升级推动深度学习在工程化应用中不
    8浏览量
  • 【免费试用】高集成度SOC芯片,单芯片嵌入式CPU,SigmaStar星宸科技SSD222D开发板免费试用2022-06-26 01:19

    ↑↑↑扫描图片二维码,立即参与试用↑↑↑开发板介绍活动时间:申请报名:2022年5月25日-2022年6月25日公布名单:2022年6月28日发货日期:2022年6月30日试用期限:2022年7月3日-2022年8月8日活动福利在原创基础上,题材特别新颖,经过厂家讨论和评定,可作为“优秀者评测奖”,获得面值500元的京东购物卡,名额1名。视频福利:优质视频被
    6浏览量
  • 【试用体验】晶心ADP-Corvette-T1编程驱动WS2812B炫彩LED2022-06-26 01:16

    昨天我在DFRobotBeetleESP32-C3开发板开发板上,成功用AdafruitNeoPixel扩展库,驱动了ws2812B炫彩点阵。具体可见文章:Arduino编程控制WS2812B炫彩LED,既然ADP-Corvette-T1开发板也能用Arduino,那应该可以把类似的程序,按照ADP-Corvette-T1开发板的Arduino支持,使用Ad
    5浏览量
  • 【参与有奖】OpenHarmony学生挑战赛等你来战!2022-06-26 01:14

    她来啦!她来啦!OpenHarmony开源开发者成长计划解决方案学生挑战赛来啦!本大赛面向所有在校大学生,注册、认证即可报名参与成长计划学生挑战赛,若组团参赛则人数不得超过6人。本大赛为开发者提供OpenHarmony开源项目的实践机会及经费资助,并有丰厚奖金及荣誉激励。在这场“战役”中,你将通过手中代码,结合OpenHarmony技术和团队的伙伴们一起解决
    3浏览量
  • 如何深入理解RT-Thread内核并上手实践,看完这篇有答案了!2022-06-26 01:12

    内核是操作系统最重要的部分,学习RT-Thread也是从最基本的内核开始。RT-Thread内核要怎么学?编者觉得首先应该是从软件架构入手,了解内核的组成与实现,这一部分会学习RT-Thread内核的相关概念和基础知识,然后了解RT-Thread系统的启动流程、内存分布情况以及内核的配置方法。内核处于硬件层之上,包括了内核库和实时内核的实现,而实时内核又包括
    9浏览量
  • 【技术应用】国产芯方案逆袭?基于光大芯业 MCU 的网红筋膜枪方案了解一下2022-06-19 01:27

    BLDC电机应用在近几年开始持续火爆,火爆应用也是百花齐放,比如前几年的无人机、电动工具、前年的网红风筒,出货量都达到了千万级数量。尤其是筋膜枪,近两年来可以说是成为了大热门的“网红神器”——尽管BLDC电机应用是一个海量市场,里面的应用非常多,应用领域非常广,但想要挖掘到像筋膜枪这类现象级爆品应用也并非易事。为什么是筋膜枪01近年来,受新冠肺炎疫情影响,我
    mcu
    9浏览量
  • 【技术分享】吊打stm32 !在开发者眼中ESP 32到底有多强?2022-06-19 01:25

    开发板是用来进行嵌入式系统开发的电路板,包括中央处理器、存储器、输入设备、输出设备、数据通路/总线和外部资源接口等一系列硬件组件。说到开发板,就不得不提性价比之王MCU——ESP32开发板。一.功能强大自带wifi+蓝牙是最大亮点!一起来看看ESP32的规格,就知道它强在哪里了。●内置WiFi和蓝牙,就不需要额外的以太网模块或wifi模块了,集成度高;●双核
    32浏览量