色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

如何適配OpenHarmony自有音頻框架ADM?

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-05-16 09:29 ? 次閱讀

OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)正在蓬勃發展,但開源社區在國內還是一個年輕的新生事物,如何參與社區開源貢獻已經成為開發者們越來越關心的話題。中國科學院軟件研究所的黃吉老師將以一個開發者的視角給大家闡述深度參與到 OpenHarmony 社區的一些心得體會。

Q1

請簡要介紹下自己,以及所在開發團隊

大家好,我叫黃吉,目前就職于中國科學院軟件研究所(以下簡稱“中科院軟件所”),在中科院軟件所負責 OpenHarmony 移植開發相關工作。中科院軟件所團隊在 OpenHarmony 項目組中主要負責 OpenHarmony 的技術研發、技術支持、社區支持、SIG 倉 CI 門禁支持及維護、活動營銷支撐、及其他社區治理相關的工作。

Q2

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

大牛談不上,我的技術能力、專業認識等各方面需要學習的地方還有很多。我認為這個選擇是雙向的,一方面我被 OpenHarmony 項目積極的開源精神深深吸引,感覺為開源社區貢獻代碼真的是一件很酷的事情,內心有參與 OpenHarmony 生態的主觀動力;另一方面是 OpenHarmony 社區秉持開放包容的宗旨,接納了很多普通開發者,我才會有機會去了解 OpenHarmony 項目并嘗試為其貢獻代碼。開源共建也是 OpenHarmony 項目最吸引人的重要特點。現如今 OpenHarmony 項目為國內開源之路邁出了堅實的一步,這條路可能走得沒那么快,但它確實勇敢地踏出了腳步,這就足夠了。

Q3

您在什么時候加入了OpenHarmony開源項目團隊?通過多久研發了RK3568的ADM驅動,合入主干上千行代碼,現在被評為代碼月度貢獻之星,真的太了不起了!您方便給我們介紹一下這個產品嗎,或者這段經歷嗎?這么短時間達成了這樣好的效果,請問您的“秘訣”都有哪些呢?

我是在 2021 年 2 月份的時候加入 OpenHarmony 開源項目團隊的。當時的 OpenHarmony 還只有輕量及小型系統,如今標準型系統的能力已經趨于完善了,并且有了自己的 hap 應用開發工具。可以看到 OpenHarmony 的能力是在不斷快速迭代、演進及完善。

回首 Dayu200 開發板的 ADM(Audio Device Model,音頻設備模型)開發過程,是充滿喜悅、充滿收獲的。ADM 是 HDF(OpenHarmony Driver Foundation)下面的一個音頻子模塊,ADM 已經支持了 Hi3516DV300 等開發板,而我們做的這塊就是對 Dayu200 開發板的適配。在我們做適配之前,音頻驅動完全依賴于 TinyALSA 庫,現在將其完全 HDF 化,不僅解決了依賴問題,還具有里程碑意義,為其他第三方開發板的移植提供了參考。適配過程中,我們發現從零開始實現接口是不現實的,造輪子不僅需要考慮穩定性、音頻編解碼、格式匹配、DMA 傳輸等多方面的東西,而且工作量巨大,也不利于后續的維護,因此我們另辟蹊徑。采用 Linux 原生函數來進行適配,其中 Codec 層通過注冊 RK809 原生對象來獲取操作 I2C 總線的對象,然后傳入對應的 regmap 函數來進行寄存器讀寫操作;DAI 層通過注冊 RK3568 原生對象來獲取操作 I2S 總線的對象,然后傳入對應的 regmap 函數來進行 I2S 寄存器讀寫操作;而 DMA 部分則是通過 Linux原生的 dma_engine 相關函數,按照規范的流程來完成請求 DMA 通道,配置 DMA 通道,預處理 DMA 通道,DMA 數據提交,DMA 數據處理等一系列的操作。因為廠商一般都會對內核部分進行維護,并且其硬件外設都由內核驅動進行管理,使用 Linux 原生接口就相當于搭了一座橋,把上層框架與內核驅動聯系了起來,維護起來更容易了。同時,這種適配思路和方法是獨創性的,是十分具有借鑒意義的。

如果說有什么秘訣的話,那就是一往無前的勇氣、不屈不撓的毅力以及永無止境的求知欲。遇到問題是再尋常不過的事情了,“長風破浪會有時,直掛云帆濟滄海”,唯有迎難而上方可解決難題。有時候很可能多條路都走不通,有時候會有挫敗感,但堅持的毅力會帶我們走出去,慢慢找到新的方向。當然,還有很多東西是沒接觸過或者不甚了解的,但求知欲會推著我們前進,推著我們主動去學習,去了解未知,去向身邊的人求教,最終幫助我們的成長。

Q4

能開發出這么一個優秀的產品,將核心代碼合入主干,您和您的團隊一定付出了很多。可以給我們分享一下,開發這個產品的整個過程,包括前期、中期、后期,您們具體都做了哪些工作,投入了多少人力和資源?

Dayu200 開發板基于 OpenHarmony 的移植工作是由潤和軟件主導,社區的多家成員單位的同事深度參與其中,有華為、潤和軟件、深開鴻、中科院軟件所等。中科院軟件所團隊承接了移植 ADM 模塊的任務 。接下任務后,我們聯系到了華為和潤和軟件的技術人員,獲取到了目標開發板的芯片、原理圖等研發必要的資料,隨后熟悉硬件的參數設計、芯片寄存器配置等信息,并且逐漸搭建代碼框架。熟悉過程其實花費的時間和精力非常多,對于完全不清楚的結構,需要一點一點閱讀文檔,遇到不清楚的細節問題,還要聯系開發人員一點一點對齊,這是一個考驗耐心的過程。中科院軟件所團隊在整個開發過程中一直與其他各單位同事保持著緊密的溝通,幾乎每天都會組織會議一起討論研發方案,針對使用 HDI 的讀寫接口無法作用于目標芯片的問題,選擇采用 Linux 原生函數來進行適配解決,有效提升了進度。在完成了代碼的初步功能并驗證后,我們把本地適配好的代碼上傳提交到 OpenHarmony 代碼倉,期間還經過了 CI 門禁的代碼編譯、代碼測試、代碼規范審查,有問題的部分會被修改直到通過審核。其中這個過程也相當考量細節,有可能代碼規范審查一下子就報幾百個規范問題或者警告,包括空格規范問題、換行規范問題、注釋規范問題、宏定義規范問題等問題,需要仔細地核對修改。最后經過對代碼的不斷修正和驗證并將代碼整理到符合社區規范的狀態后,這些代碼成功合入到了主干。總的來說,這是各方一起通力合作的結果,完成了從進度跟蹤到任務分配再到技術問題攻堅的一系列問題的閉環。

Q5

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

整個開發過程中主要有以下幾個困難點。第一,Dayu200 開發板的音頻芯片比較特殊,它包含 Codec、RTC、PMIC 等多種功能,不能簡單的采用 ADM 接口去操作它。為了避免影響到其他功能的正常運作,我們使用了原生 Linux 設備驅動接口來操作 I2C、I2S、DMA 的通信以及數據傳遞,避免了異常操作的風險。第二,播放一段時間后,停止播放,持續有尖銳的很小的聲音。針對此問題,我們注冊了 Trigger 函數,根據接收到狀態信息,如果為停止狀態,則對 Codec 相關器件進行下電。第三,RK 的音量調節功能必須要給左右聲道寄存器寫入相同數值才可生效,但當時框架還不支持對左右寄存器的賦值。后來,我們與框架開發人員協商,使得框架新增了該項功能,最終適配上了音量調節能力。

經驗的話,就是一定要多去和不同的技術開發人員溝通交流,有時候可能會陷入思維定勢,常常不能發現自己代碼上的問題,而別人一眼就看到關鍵所在,直接指出來,那么問題就迎刃而解了。

Q6

加入OpenHarmony生態以來,您最大的驚喜是什么?或者有哪些具體的收獲?

加入 OpenHarmony 生態以來,我最大的驚喜是了解了開源社區的玩法,在 OpenHarmony 社區,可以從別人的代碼中學到更多知識,同時自己的代碼可以被更多人看到,好的地方不好的地方,都會有人提出來,在這種快速的反饋中,更能夠了解自己存在的不足。

我認為,這段時間充滿了收獲,首先是認識了很多志同道合的小伙伴,大家都積極參與開源項目,貢獻自己的代碼,開源之路本就荊棘叢生,有這么多開源社區的伙伴一起前行,路也好走了許多。其次是獲得了磨練與成長,在優秀的人面前,你能看到差距,從而去學習別人的優點;在優秀的代碼面前,你能看到框架構思的差距,從而去學習別人的編碼思路,這確實讓人受益匪淺。

Q7

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

客觀的說,OpenHarmony 還存在有一些不足的地方,比如社區反映的入門資料較少、框架解析資料不夠清晰、issue 請求響應不太及時等問題。主要原因在這么幾個方面,一是 OpenHarmony 發展初期,它是國內最前沿的大規模的開源系統,它的發展是摸著石頭過河的過程,必然會存在這樣或者那樣的沒有遇到過的問題,這是相當正常的;二是開發者技術水平和技術關注點存在差異,有的開發者可能需要更詳盡的入門資料來進入門檻,有的開發者可能關注底層驅動lib庫的編譯生成方式,有的開發者可能關注 OpenHarmony SDK 如何生成 hap 應用,不知道如何找到自己想要的開發資料;三是 OpenHarmony 每個代碼倉的管理相對獨立,由每個倉庫自己的 committer 進行管理,一方面很多開發者可能找不到正確的代碼倉來提 issue,另外一方面某些 committer 可能由于事務繁忙,沒有及時地回復 issue。我期待未來 OpenHarmony 能夠切實的引導開發者,根據他們的需求,提供對應的開發資料開發資源,并且能夠進一步加強與開發者的聯系,更多傾聽開發者的聲音,給予良性的有效的反饋。

Q8

OpenHarmony目前仍處在開發探索階段,很多共建單位和生態伙伴還不清楚開源項目的玩法,或不知該如何著手進行開發。可以請您給大家分享一條,您認為最重要或最值得分享的心得嗎?

我認為 OpenHarmony 是一個非常自由開放的項目,各家共建單位或生態伙伴可以根據自己的需求想法來進行選擇。如果想進行應用hap開發,可以參考 OpenHarmony 的 docs 倉下面的 JS 開發資料。如果是想進行開發板移植,可以參考 OpenHarmony 的 docs 倉下面的芯片移植資料,在此基礎上,如果想貢獻代碼,則可以聯系 OpenHarmony SIG 相關組織走代碼上倉的流程。至于開發上的問題,建議在 OpenHarmony 社區的 Zulip 上提問(https://zulip.openharmony.cn,未注冊用戶需要郵箱注冊),或者在研發討論群里面提問,或者是在相關代碼倉提 issue,總之,渠道是十分廣泛的。

審核編輯 :李倩

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

    關注

    29

    文章

    2939

    瀏覽量

    82530
  • ADM
    ADM
    +關注

    關注

    0

    文章

    30

    瀏覽量

    16094
  • OpenHarmony
    +關注

    關注

    25

    文章

    3781

    瀏覽量

    17284

原文標題:黃吉——如何適配OpenHarmony自有音頻框架ADM?

文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    北京迅為RK3568開發板OpenHarmony系統南向驅動開發內核HDF驅動框架架構

    北京迅為RK3568開發板OpenHarmony系統南向驅動開發內核HDF驅動框架架構
    的頭像 發表于 03-11 14:13 ?773次閱讀
    北京迅為RK3568開發板<b class='flag-5'>OpenHarmony</b>系統南向驅動開發內核HDF驅動<b class='flag-5'>框架</b>架構

    貝啟科技 BQ3576 開發板首發通過 OpenHarmony5.1.0.44適配驗證

    2月21日,貝啟科技RK3576系列硬件產品首發通過OpenHarmony5.1.0.44適配驗證,涵蓋BQ3576HM開發板套件、BQ3576行業平板、BQ3576商顯主板。這些產品基于瑞芯微
    的頭像 發表于 02-21 10:51 ?613次閱讀
    貝啟科技 BQ3576 開發板首發通過 <b class='flag-5'>OpenHarmony</b>5.1.0.44<b class='flag-5'>適配</b>驗證

    新品 | 視美泰AIoT鴻蒙開發套件SC-3568HA正式上市,已成功適配OpenHarmony 5.0 Release版本

    近日,視美泰成功完成了其多系列產品與OpenHarmony5.0Release版本的深度適配工作,此次適配的產品涵蓋了OpenHarmony5.0首發開發套件SC-3568HA、智慧終
    的頭像 發表于 02-05 17:11 ?326次閱讀
    新品 | 視美泰AIoT鴻蒙開發套件SC-3568HA正式上市,已成功<b class='flag-5'>適配</b><b class='flag-5'>OpenHarmony</b> 5.0 Release版本

    AN-1135: ADC采樣信息ADM1275/ADM1276/ADM1075

    電子發燒友網站提供《AN-1135: ADC采樣信息ADM1275/ADM1276/ADM1075.pdf》資料免費下載
    發表于 01-12 11:10 ?0次下載
    AN-1135: ADC采樣信息<b class='flag-5'>ADM</b>1275/<b class='flag-5'>ADM</b>1276/<b class='flag-5'>ADM</b>1075

    OpenHarmony程序分析框架論文入選ICSE 2025

      近日,ICSE 2025軟件工程實踐Track放榜,面向OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)的ArkTS程序分析基礎框架--方舟程序分析器(論文題目為
    的頭像 發表于 01-02 13:41 ?549次閱讀
    <b class='flag-5'>OpenHarmony</b>程序分析<b class='flag-5'>框架</b>論文入選ICSE 2025

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

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

    OpenHarmony4.1藍牙芯片如何適配?觸覺智能RK3568主板SBC3568演示

    當打開藍牙后沒有反應時,需要排查藍牙節點是否對應、固件是否加載成功,本文介紹開源鴻蒙OpenHarmony4.1系統下適配藍牙的方法,觸覺智能SBC3568主板演示,搭載了瑞芯微RK3568芯片,應用可覆蓋邊緣計算、人工智能、工業HMI、工業網關、智慧醫療、自助終端、智能
    的頭像 發表于 11-08 10:11 ?735次閱讀
    <b class='flag-5'>OpenHarmony</b>4.1藍牙芯片如何<b class='flag-5'>適配</b>?觸覺智能RK3568主板SBC3568演示

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

    觸覺智能Purple Pi OH鴻蒙開發板,成功適配OpenHarmony5.0 Release版本!為大家帶來OpenHarmony5.0特性講解!關注觸覺智能,為大家帶來更多OpenHar
    的頭像 發表于 10-25 10:51 ?704次閱讀
    觸覺智能Purple Pi OH鴻蒙開發板成功<b class='flag-5'>適配</b><b class='flag-5'>OpenHarmony</b>5.0 Release,開啟新征程

    FET527N-C核心板已適配OpenHarmony4.1

    近期,飛凌嵌入式為FET527N-C核心板適配OpenHarmony4.1系統——進一步提升了核心板的兼容性、穩定性和安全性。
    的頭像 發表于 10-15 08:01 ?644次閱讀
    FET527N-C核心板已<b class='flag-5'>適配</b><b class='flag-5'>OpenHarmony</b>4.1

    [2K300適配OpenharmonyV4.1]根文件系統制作請教

    官方你好,我這邊需要適配OpenharmonyV4.1,但是目前網上找不到2K300的開源資料,我嘗試使用2K500開源資料搭建開發環境,目前已成功編譯出對應鏡像,但是我想將OpenHarmony
    發表于 09-11 11:18

    RISC-V適配OpenHarmony研討會

    8月14日,由RISC-V國際人才培養認證中心主辦的“RISC-V適配OpenHarmony研討會”主題活動在RISC-V開源創新中心舉行。中科廈門數智研究院院長助理贠利君,深圳博芯科技股份
    的頭像 發表于 08-30 13:15 ?490次閱讀
    RISC-V<b class='flag-5'>適配</b><b class='flag-5'>OpenHarmony</b>研討會

    首發!飛凌嵌入式FETMX6ULL-S核心板已適配OpenHarmony 4.1

    近日,飛凌嵌入式在FETMX6ULL-S核心板上率先適配OpenHarmony 4.1,這也是業內的首個應用案例,嵌入式核心板與OpenHarmony操作系統的結合與應用,將進一步推動千行百業的數智化進程。
    的頭像 發表于 05-20 09:04 ?985次閱讀
    首發!飛凌嵌入式FETMX6ULL-S核心板已<b class='flag-5'>適配</b><b class='flag-5'>OpenHarmony</b> 4.1

    鴻蒙開發:【OpenHarmony 4.0 Release指導】

    OpenHarmony 4.0版本如期而至,開發套件同步升級到API 10。相比3.2 Release版本,新增4000多個API,應用開發能力更加豐富;HDF新增200多個HDI接口,硬件適配更加便捷;我們持續優化圖形框架和方
    的頭像 發表于 05-14 09:59 ?1889次閱讀
    鴻蒙開發:【<b class='flag-5'>OpenHarmony</b> 4.0 Release指導】

    適配開源鴻蒙OpenHarmony 4.1,Purple Pi OH開發板與時俱進

    2024年4月3日,備受矚目的OpenHarmony4.1release版本正式發布。值得一提的是,觸覺智能的PurplePiOH已經成功適配了這一新版本,展現出強大的兼容性和前沿的技術實力。此次
    的頭像 發表于 04-18 08:33 ?1112次閱讀
    已<b class='flag-5'>適配</b>開源鴻蒙<b class='flag-5'>OpenHarmony</b> 4.1,Purple Pi OH開發板與時俱進

    OpenHarmony南向能力征集令

    1、適配過程中缺少哪些接口能力或者南向能力,需要OpenHarmony去補齊的?例如內核、編譯、器件適配、單板適配等; 2、對標linux,需要Op
    發表于 04-09 15:32
    主站蜘蛛池模板: 快穿女主有名器的H纯肉黄暴拉文 | 国产精品亚洲精品日韩电影 | 116美女写真成人午夜视频 | 好男人WWW免费高清视频在线 | 国产精品免费久久久久影院 | 欧美一区二区三区男同 | 精品淑女少妇AV久久免费 | 中文字幕精品AV内射夜夜夜 | 国产第一页在线视频 | 99久久香蕉国产线看观看 | 欧美伦理片第7页 | 欧美老少欢杂交另类 | 午夜福利免费院 | 99热国产这里只有精品9九 | 亚洲AV蜜桃永久无码精品无码网 | 国产看午夜精品理论片 | 搡女人免费免费视频观看 | 国产成人一区二区三中文 | 美国一级黄色 | 国产精品点击进入在线影院高清 | 伊人免费在线 | 四虎影视永久无码精品 | 欧美最猛性xxxxx亚洲精品 | 嗯啊…跟校草在教室里做h 嗯 用力啊 嗯 c我 啊哈老师 | 国产成人在线视频播放 | 耻辱诊察室1一4集动漫在线观看 | 樱花动漫成人隐藏入口 | yellow高清免费观看日本 | 石原莉奈rbd806中文字幕 | 午夜无码国产理论在线 | 欧美特级另类xxx | 啦啦啦 中国 日本 高清 在线 | 色戒未删减版在线观看完整 | 欧美高清video mr.sexo | 国产网站免费观看 | 99在线免费观看 | 妹妹我要操 | 中文字幕人成乱码熟女APP | 国产精品人妻无码免费A片导航 | 精品99久久久久成人网站 | 亚洲成人在线免费 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品