主頁 > 移動端開發 > 李東山:如何讓 OpenHarmony 支持低功耗藍牙芯片 GR551x

李東山:如何讓 OpenHarmony 支持低功耗藍牙芯片 GR551x

2022-05-13 07:22:20 移動端開發

編者按:在 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 繁榮生態,

 

 

搜索

復制

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/472945.html

標籤:其他

上一篇:Glide原始碼決議二---into方法

下一篇:Glide原始碼決議二---into方法

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【從零開始擼一個App】Dagger2

    Dagger2是一個IOC框架,一般用于Android平臺,第一次接觸的朋友,一定會被搞得暈頭轉向。它延續了Java平臺Spring框架代碼碎片化,注解滿天飛的傳統。嘗試將各處代碼片段串聯起來,理清思緒,真不是件容易的事。更不用說還有各版本細微的差別。 與Spring不同的是,Spring是通過反射 ......

    uj5u.com 2020-09-10 06:57:59 more
  • Flutter Weekly Issue 66

    新聞 Flutter 季度調研結果分享 教程 Flutter+FaaS一體化任務編排的思考與設計 詳解Dart中如何通過注解生成代碼 GitHub 用對了嗎?Flutter 團隊分享如何管理大型開源專案 插件 flutter-bubble-tab-indicator A Flutter librar ......

    uj5u.com 2020-09-10 06:58:52 more
  • Proguard 常用規則

    介紹 Proguard 入口,如何查看輸出,如何使用 keep 設定入口以及使用實體,如何配置壓縮,混淆,校驗等規則。

    ......

    uj5u.com 2020-09-10 06:59:00 more
  • Android 開發技術周報 Issue#292

    新聞 Android即將獲得類AirDrop功能:可向附近設備快速分享檔案 谷歌為安卓檔案管理應用引入可安全隱藏資料的Safe Folder功能 Android TV新主界面將顯示電影、電視節目和應用推薦內容 泄露的Android檔案暗示了傳說中的谷歌Pixel 5a與折疊屏新機 谷歌發布Andro ......

    uj5u.com 2020-09-10 07:00:37 more
  • AutoFitTextureView Error inflating class

    報錯: Binary XML file line #0: Binary XML file line #0: Error inflating class xxx.AutoFitTextureView 解決: <com.example.testy2.AutoFitTextureView android: ......

    uj5u.com 2020-09-10 07:00:41 more
  • 根據Uri,Cursor沒有獲取到對應的屬性

    Android: 背景:呼叫攝像頭,拍攝視頻,指定保存的地址,但是回傳的Cursor檔案,只有名稱和大小的屬性,沒有其他諸如時長,連ID屬性都沒有 使用 cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATIO ......

    uj5u.com 2020-09-10 07:00:44 more
  • Android連載29-持久化技術

    一、持久化技術 我們平時所使用的APP產生的資料,在記憶體中都是瞬時的,會隨著斷電、關機等丟失資料,因此android系統采用了持久化技術,用于存盤這些“瞬時”資料 持久化技術包括:檔案存盤、SharedPreference存盤以及資料庫存盤,還有更復雜的SD卡記憶體儲。 二、檔案存盤 最基本存盤方式, ......

    uj5u.com 2020-09-10 07:00:47 more
  • Android Camera2Video整合到自己專案里

    背景: Android專案里呼叫攝像頭拍攝視頻,原本使用的 MediaStore.ACTION_VIDEO_CAPTURE, 后來因專案需要,改成了camera2 1.Camera2Video 官方demo有點問題,下載后,不能直接整合到專案 問題1.多次拍攝視頻崩潰 問題2.雙擊record按鈕, ......

    uj5u.com 2020-09-10 07:00:50 more
  • Android 開發技術周報 Issue#293

    新聞 谷歌為Android TV開發者提供多種新功能 Android 11將自動填表功能整合到鍵盤輸入建議中 谷歌宣布Android Auto即將支持更多的導航和數字停車應用 谷歌Pixel 5只有XL版本 搭載驍龍765G且將比Pixel 4更便宜 [圖]Wear OS將迎來重磅更新:應用啟動時間 ......

    uj5u.com 2020-09-10 07:01:38 more
  • 海豚星空掃碼投屏 Android 接收端 SDK 集成 六步驟

    掃碼投屏,開放網路,獨占設備,不需要額外下載軟體,微信掃碼,發現設備。支持標準DLNA協議,支持倍速播放。視頻,音頻,圖片投屏。好點意思。還支持自定義基于 DLNA 擴展的操作動作。好像要收費,沒體驗。 這里簡單記錄一下集成程序。 一 跟目錄的build.gradle添加私有mevan倉庫 mave ......

    uj5u.com 2020-09-10 07:01:43 more
最新发布
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:40:31 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:40:11 more
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:39:36 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:39:13 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:16:23 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:16:15 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:15:46 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:14:53 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:14:08 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:08:34 more