0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

【人物訪談】熊磊:成功移植 OpenHarmony 到多套開發(fā)板,是最開心的事

電子發(fā)燒友論壇 ? 2022-05-24 09:31 ? 次閱讀

編者按:OpenHarmony 生態(tài)發(fā)展過程中,涌現(xiàn)了大批優(yōu)秀的代碼貢獻者,本專題旨在表彰貢獻、分享經(jīng)驗,文中內(nèi)容來自嘉賓訪談,不代表 OpenHarmony 工作委員會觀點。

熊磊

華為技術有限公司

OS高級開發(fā)工程師

OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)是由開放原子開源基金會孵化及運營的開源項目,每一位開發(fā)者都可以基于 OpenHarmony 做開發(fā)。自成立以來,OpenHarmony 吸引了眾多開發(fā)者的加入,現(xiàn)有 6 大開發(fā)者社區(qū)專區(qū)建設(CSDN、51CTO、開源中國、思否、電子發(fā)燒友、InfoQ,排名不分先后),104 個高校陣地(有組織者的高校)。發(fā)布的技術直播、視頻課程、技術解讀文章、開發(fā)者稿件等累計覆蓋觀眾人數(shù) 2500 萬人。


構建開源生態(tài),需要讓開發(fā)者先用起來,而這離不開各種類型、可提供各種功能需求的開發(fā)板。提供基礎集成開發(fā)環(huán)境、軟件源代碼、硬件原理圖,方便初學者快速地了解和學習 OpenHarmony 系統(tǒng)的硬件和軟件知識,開發(fā)板是 OpenHarmony 開源生態(tài)建設中的重要一環(huán)。將 OpenHarmony 版本移植到 Hi3516DV300、rk3568 等多套開發(fā)板套件中的,正是熊磊及其團隊。

本期 OpenHarmony 開發(fā)者故事,我們采訪了OpenHarmony 啟動子系統(tǒng)的負責人,OpenHarmony PMC 委員會推舉的“代碼貢獻月度之星”——熊磊。


熊磊和團隊一起負責啟動子系統(tǒng)的特性開發(fā)、產(chǎn)品定制、生態(tài)拓展和代碼維護等工作。這個模塊控制整個系統(tǒng)的啟動管理,體系非常復雜,如此艱巨的任務,他們要如何完成?開發(fā)過程中,遇到典型的內(nèi)存溢出難題,他們又是如何精準排查,并形成問題分析文檔,后續(xù)防患于未然的?滿滿干貨,不容錯過!我們將專訪內(nèi)容整理如下,希望對你有所啟發(fā)。

Q:OpenHarmony A=熊磊

Q1:請熊磊簡要介紹下自己和所帶團隊


大家好,我是熊磊,目前是 OpenHarmony 啟動子系統(tǒng)的負責人。我和我的團隊負責啟動子系統(tǒng)的特性開發(fā)、產(chǎn)品定制、生態(tài)拓展和代碼維護等工作。我對物聯(lián)網(wǎng)、嵌入式、操作系統(tǒng)有著濃厚的興趣,從事這個行業(yè)有12年的時間了。

Q2:作為開發(fā)領域知名的技術大牛,您最初為什么會選擇加入OpenHarmony生態(tài)、參與開源共建呢?您認為,OpenHarmony項目最吸引人的點在哪里?


在移動操作系統(tǒng)領域,不管是 iOS,還是 Android,我們始終都是追隨者。先是豐富 iOS 的應用市場,后來集成 Android 系統(tǒng),與全世界一起共建 Android 生態(tài),一直都在跟隨別人的腳步前行。

我?guī)啄昵奥犝f OpenHarmony 的時候,就希望能夠參與進去開發(fā)我們自己的移動操作系統(tǒng)。如今能夠有幸參與到 OpenHarmony 的生態(tài)共建中,也算是實現(xiàn)了當初的愿望。

OpenHarmony 吸引我的地方很多,從定位來看,它是一個創(chuàng)新的移動操作系統(tǒng),令人振奮;從技術架構來看,它的模塊化設計,也讓人眼前一亮。我相信 OpenHarmony 新服務、新硬件、新交互的設計理念,將會給大家?guī)砣碌捏w驗。

Q3:這次您被OpenHarmony PMC委員會推舉為“代碼貢獻月度之星”,意味著您對OpenHarmony項目的貢獻已經(jīng)屬于業(yè)界頂尖水平,十分了不起!加入OpenHarmony這么短的時間卻達成了這樣好的效果,請問您的“秘訣”是什么?您是否方便從業(yè)務角度具體介紹一下,怎么才能讓開發(fā)者更加滿意,把開源共建做得更好?

沒有什么”秘訣“啦,我一直相信興趣是最好的老師,也是最大的動力。

OpenHarmony 還處在起步階段,尚有大量的工作需要完成。我非常榮幸能夠在初始階段就參加到這樣一個事業(yè)中。我參與的模塊,是系統(tǒng)的啟動部分,負責整個系統(tǒng)的啟動管理。它涉及到各子系統(tǒng),而每個子系統(tǒng)又都有自己的訴求,整個體系非常復雜。肩負如此重要的任務,我壓力不小,也動力十足。

OpenHarmony 作為一個年輕的 OS,需要吸引更多的開發(fā)者進行生態(tài)共建,才能更好地發(fā)展。項目組需要多傾聽開發(fā)者的聲音,了解大家的痛點和訴求,解決開發(fā)者參與共建過程中的現(xiàn)實問題。另外,做好 OpenHarmony 的宣傳也很重要。開發(fā)者了解這個系統(tǒng),對它產(chǎn)生興趣了,就會愿意參與進來。

Q4:您和您的團隊小伙伴,在參與OpenHarmony項目貢獻的過程中,一定有一些刻骨銘心/印象深刻的經(jīng)歷,比如文檔被轉載、被committer認可、被合并代碼、被授予榮譽、被開發(fā)者夸贊之類??梢越o我們分享一下嗎?

每一次的 master 代碼提交,都是非凡的體驗??吹轿覀兊呐Τ晒?,終于要合入主線了,內(nèi)心既激動,又忐忑。

有時候,一個重大特性的合入,涉及的代碼量會非常大。我和團隊的小伙伴們,就需要每天晚上忙活很久,確保編譯通過、設備能正常啟動,并關注靜態(tài)檢查的告警。當我們看到已合入的標簽時,才會如釋重負,感覺所有的辛苦都很值得。

Q5:在整個開發(fā)進程中,您和您的團隊遇到過哪些技術上或其他方面的難題呢?這些難題又是如何被逐一解決的?在這些難題被解決的過程中,您總結了哪些寶貴的經(jīng)驗or教訓呢?

首先簡單介紹下 OHOS 啟動,init 組件負責處理從內(nèi)核加載第一個用戶態(tài)進程開始,到第一個應用程序啟動之間的系統(tǒng)服務進程的啟動過程。OHOS 啟動簡單的邏輯框架如下圖 5-1 所示,其中 init 階段主要負責啟動引導管理、服務管理,以及系統(tǒng)、服務的配置項的管理等。

66533d44-dad8-11ec-b80f-dac502259ad0.jpg

圖 5-1

我們在前期 init 提供的能力基礎上,通過持續(xù)改進方案,不斷增強能力、優(yōu)化效率。例如增加進程頻繁退出的抑制機制,增加支持應用、系統(tǒng)組件及芯片組件進程的沙盒運行環(huán)境,增加支持服務分組的配置、并行啟動依賴的同步機制、可通過沙盒孵化的應用等,如下圖 5-2 所示。

6691c1c2-dad8-11ec-b80f-dac502259ad0.jpg

圖 5-2

我們各種各樣的難題都遇到過,比較典型的是一個內(nèi)存問題。當時,我跟團隊里面的技術專家,一整天在遠程電話會議討論這個問題。大家群策群力,提出自己的想法并逐個排查驗證,最后發(fā)現(xiàn)問題是另外一個流程里面的 malloc 內(nèi)存空間訪問越界所致。兩個似乎完全不相關的流程,發(fā)生了內(nèi)存踩踏的情況。問題得到解決后,我們進行了內(nèi)部的復盤,并輸出一份問題分析文檔。

內(nèi)存問題一旦出現(xiàn),會很難排查,關鍵在于預防。所以一個良好的編碼規(guī)范非常重要。只要有良好的編碼習慣,就能有效規(guī)避內(nèi)存的越界、溢出。后期,我們不定時在團隊內(nèi)部進行分享、總結,就是要確保同樣的錯誤,絕不再犯。

Q6:加入OpenHarmony生態(tài)以來,您最大的驚喜是什么?或者有哪些具體的收獲?

最大的喜悅是成功將 OpenHarmony 版本移植到多套開發(fā)板套件(Hi3516DV300、rk3568 等)中,為開發(fā)者提供了方便學習的開發(fā)環(huán)境。當看到開發(fā)者能將理論付諸實踐,所有人共同開發(fā)、共同貢獻,OpenHarmony 系統(tǒng)不斷完善,心中的成就感難以言表。

66e10688-dad8-11ec-b80f-dac502259ad0.jpg

此外,在這個過程中結識了很多朋友,參與不同的 SIG 組,學習到了很多新的知識,這些也都是收獲。

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


我覺得性能方面有待提高,上手體驗不是特別良好。OpenHarmony 的調(diào)試手段也比較缺乏,沒有 trace。

Q8:OpenHarmony目前仍處在開發(fā)探索階段,很多共建單位和生態(tài)伙伴還不清楚開源項目的玩法,或不如該如何著手進行開發(fā)??梢哉埬o大家分享一條,您認為最重要或最值得分享的心得嗎?


重要的是多關注社區(qū),多參與 SIG,多交流。現(xiàn)在網(wǎng)上的 OpenHarmony 資料,確實不是特別多,但代碼都是開源的。社區(qū)有各種微信群,其中的絕大多數(shù)開發(fā)者也都是中國人,大家在溝通方面不會有任何困難。我相信共建單位和生態(tài)伙伴之間多多交流,一定會有非常大的收益。

Q9:開放性問題,可以暢所欲言,請問您還有什么掏心窩的話想告訴大家?


我這一路走來,從剛開始參與 OpenHarmony 時的不知所措,到如今在 OpenHarmony 社區(qū)貢獻了大量的代碼,是有苦也有甜。

OpenHarmony 從一開始的幾十個倉,成長為現(xiàn)在的龐然大物??吹接性絹碓蕉嗟娜嗽陉P注和了解 OpenHarmony,也有越來越多的人參與到系統(tǒng)的開發(fā)中來,我的內(nèi)心有種自豪,因為我也是其中的一員。衷心祝愿 OpenHarmony 越來越好!

670c8196-dad8-11ec-b80f-dac502259ad0.png


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • OpenHarmony
    +關注

    關注

    25

    文章

    3732

    瀏覽量

    16441
收藏 人收藏

    評論

    相關推薦

    OpenHarmony源碼編譯后燒錄鏡像教程,RK3566鴻蒙開發(fā)板演示

    本文介紹瑞芯微主板/開發(fā)板編譯OpenHarmony源碼后燒錄鏡像的教程,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示。搭載了瑞芯微RK3566四核處理器,樹莓派卡片電腦設計,支持開源鴻蒙O
    的頭像 發(fā)表于 12-30 10:08 ?137次閱讀
    <b class='flag-5'>OpenHarmony</b>源碼編譯后燒錄鏡像教程,RK3566鴻蒙<b class='flag-5'>開發(fā)板</b>演示

    OpenHarmony怎么修改DPI密度值?觸覺智能RK3566鴻蒙開發(fā)板演示

    開源鴻蒙OpenHarmony系統(tǒng)下,修改DPI密度值的方法,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,搭載了瑞芯微RK3566四核處理器,Laval鴻蒙社區(qū)推薦開發(fā)板,已適配全新開源鴻蒙
    的頭像 發(fā)表于 12-24 11:46 ?240次閱讀
    <b class='flag-5'>OpenHarmony</b>怎么修改DPI密度值?觸覺智能RK3566鴻蒙<b class='flag-5'>開發(fā)板</b>演示

    戈帥《OpenHarmony輕量系統(tǒng)從入門精通50例》開發(fā)板與傳感器配置說明

    戈帥《OpenHarmony輕量系統(tǒng)從入門精通50例》開發(fā)板與傳感器配置說明,請查看附件*附件:《OpenHarmony輕量系統(tǒng)從入門
    發(fā)表于 12-03 15:46

    OpenHarmony屬性信息怎么修改?觸覺智能RK3566鴻蒙開發(fā)板來演示

    本文介紹開源鴻蒙OpenHarmony系統(tǒng)下,修改產(chǎn)品屬性信息的方法,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,已適配全新OpenHarmony5.0 Release系統(tǒng)!
    的頭像 發(fā)表于 11-27 09:31 ?208次閱讀
    <b class='flag-5'>OpenHarmony</b>屬性信息怎么修改?觸覺智能RK3566鴻蒙<b class='flag-5'>開發(fā)板</b>來演示

    觸覺智能Purple Pi OH鴻蒙開發(fā)板成功適配OpenHarmony5.0 Release,開啟新征程

    觸覺智能Purple Pi OH鴻蒙開發(fā)板成功適配OpenHarmony5.0 Release版本!為大家?guī)?b class='flag-5'>OpenHarmony5.0特性講解!關注觸覺智能,為大家?guī)砀?/div>
    的頭像 發(fā)表于 10-25 10:51 ?450次閱讀
    觸覺智能Purple Pi OH鴻蒙<b class='flag-5'>開發(fā)板</b><b class='flag-5'>成功</b>適配<b class='flag-5'>OpenHarmony</b>5.0 Release,開啟新征程

    OpenHarmony 明星開發(fā)板和應用招募啟動,等你來!

    優(yōu)秀標桿,活動將圍繞OpenHarmony開發(fā)板和應用展開,歷經(jīng)報名、初選、復選、公示四個階段,最終評選出的優(yōu)秀開發(fā)板和應用將在社區(qū)進行重點推廣。 報名時間 活動報名時間從即日開始, 截止
    發(fā)表于 09-14 15:21

    鴻蒙OpenHarmony南向/北向快速開發(fā)教程-迅為RK3568開發(fā)板

    大家期待已久的迅為RK3568開發(fā)板終于迎來了鴻蒙4.1系統(tǒng)的強勢支持!想知道如何實現(xiàn)快速開發(fā)學習嗎?跟著我們一起來探索吧! 迅為RK3568開發(fā)板: 想象一下,你手中的RK3568開發(fā)板
    發(fā)表于 07-23 10:44

    鴻蒙OpenHarmony【基于Hi3516DV300開發(fā)板(時鐘應用開發(fā))】

    如何快速搭建基于OpenHarmony標準系統(tǒng)(Hi3516DV300開發(fā)板)的應用開發(fā)環(huán)境,并基于一個時鐘APP示例逐步展示應用的創(chuàng)建、開發(fā)、調(diào)試和安裝等流程。
    的頭像 發(fā)表于 05-08 15:27 ?1204次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【基于Hi3516DV300<b class='flag-5'>開發(fā)板</b>(時鐘應用<b class='flag-5'>開發(fā)</b>)】

    鴻蒙OpenHarmony【標準系統(tǒng) 運行】(基于RK3568開發(fā)板

    燒錄完成重啟開發(fā)板后,系統(tǒng)將會自動啟動。開發(fā)板附帶的屏幕呈現(xiàn)以下界面,表明系統(tǒng)已運行成功。
    的頭像 發(fā)表于 05-06 15:38 ?487次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【標準系統(tǒng) 運行】(基于RK3568<b class='flag-5'>開發(fā)板</b>)

    鴻蒙OpenHarmony【集成三方SDK】 (基于Hi3861開發(fā)板

    OpenHarmony致力于打造一更加開放完善的IoT生態(tài)系統(tǒng),為此OpenHarmony規(guī)劃了一組目錄,用于將各廠商的SDK集成OpenHar
    的頭像 發(fā)表于 04-24 15:11 ?1170次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【集成三方SDK】 (基于Hi3861<b class='flag-5'>開發(fā)板</b>)

    OpenHarmony鴻蒙南向開發(fā)案例:【智能貓眼(基于Hi3518開發(fā)板)】

    基于Hi3518開發(fā)板,使用開源OpenHarmony開發(fā)的RTSP協(xié)議流媒體應用。達到將Hi3518開發(fā)板中攝像頭獲取的數(shù)據(jù)通過RTSP協(xié)議傳輸?shù)绞謾C并顯示 。
    的頭像 發(fā)表于 04-22 15:46 ?2100次閱讀
    <b class='flag-5'>OpenHarmony</b>鴻蒙南向<b class='flag-5'>開發(fā)</b>案例:【智能貓眼(基于Hi3518<b class='flag-5'>開發(fā)板</b>)】

    OpenHarmony鴻蒙南向開發(fā)案例:【智能貓眼(基于3516開發(fā)板)】

    基于Hi3516開發(fā)板,使用開源OpenHarmony開發(fā)的RTSP協(xié)議流媒體應用。達到將Hi3516開發(fā)板中攝像頭獲取的數(shù)據(jù)通過RTSP協(xié)議傳輸?shù)绞謾C并顯示 。
    的頭像 發(fā)表于 04-19 22:01 ?644次閱讀
    <b class='flag-5'>OpenHarmony</b>鴻蒙南向<b class='flag-5'>開發(fā)</b>案例:【智能貓眼(基于3516<b class='flag-5'>開發(fā)板</b>)】

    【七】Purple Pi OH開發(fā)板帶你7天入門OpenHarmony!

    OpenHarmonyOS。一.PurplePiOH開發(fā)板的使用體驗1.1USB首先,讓我們談談PurplePiOH開發(fā)板。作為一款與樹莓派兼容的開發(fā)板,它具有高算力、低功耗、強大的
    的頭像 發(fā)表于 03-22 08:31 ?441次閱讀
    【七】Purple Pi OH<b class='flag-5'>開發(fā)板</b>帶你7天入門<b class='flag-5'>OpenHarmony</b>!

    移植libmodbus庫米爾-全志T113-i開發(fā)板

    測試開發(fā)板在工業(yè)領域的應用,modbus作為工業(yè)領域的一個重要協(xié)議,那好就移植libmodbus庫。
    的頭像 發(fā)表于 03-05 22:37 ?2675次閱讀
    <b class='flag-5'>移植</b>libmodbus庫<b class='flag-5'>到</b>米爾-全志T113-i<b class='flag-5'>開發(fā)板</b>

    ELF 1技術貼|如何將Python3.6.9移植開發(fā)板

    如何進行交叉編譯并移植ELF1開發(fā)板上。在網(wǎng)址:https://www.python.org/ftp/python/下載Python-3.6.9.tar.xz壓縮
    的頭像 發(fā)表于 02-22 14:06 ?452次閱讀
    ELF 1技術貼|如何將Python3.6.9<b class='flag-5'>移植</b><b class='flag-5'>到</b><b class='flag-5'>開發(fā)板</b>上