91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

RK系列開發板音頻驅動適配指南(一)

電子發燒友開源社區 ? 來源:未知 ? 2022-10-17 14:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

afb13a46-4de6-11ed-a3b6-dac502259ad0.jpg

陳甲印

鴻湖萬聯產品推薦官

軟通動力高級技術專家

背景:

多媒體系統目前在Linux操作系統,windows操作系統已經非常成熟,并且應用場景廣泛,但是,基于OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)操作系統,目前如果使用到多媒體(音頻)是需要做一系列的適配動作,才能應用到各種場景。

方案:

基于OpenHarmony適配RK系列開發板音頻驅動總體方案是:基于HDF框架和ADM模型,在內核層中創建DAI、DMA和Codec三個模塊,并實現例化ADM定義的DAI、DMA和Codec回調業務接口,ADM通過這些接口實現音頻數據處理與功能控制;然后再通過HCS配置設備節點和服務,通過HDF的服務管理機制,對內核層和用戶層提供服務。針對DAI、DMA和Codec,首先分別創建對應的適配器模塊(RK系列開發板daiadapter、RK系列開發板dmaadapter、es8838codecadapter),在其中實現驅動的注冊、綁定、初始化和釋放;然后分別創建三者對應的操作集模塊(RK系列開發板daiops、RK系列開發板dmaops、es8838codecops),在其中實現所有ADM定義的對應業務接口;最后在deviceinfo.hcs中配置三者公有的參數,若需要配置私有參數,則還需要分別創建三者對應的HCS配置文件(daiconfig.hcs、dmaconfig.hcs、codecconfig.hcs)。

RK系列開發板 DAI模塊適配:

DAI主要作用是通過I2S將Soc與Codec連接,實現在Soc和Codec之間音頻數據的傳輸,其中I2S驅動由HDF框架提供。ADM定義的DAI接口包括:DAI設備初始化、讀寫(Soc的)寄存器、音頻設備啟動、下發硬件參數和事件監聽共6個接口。在適配器模塊中實例化ADM定義的DAI兩個結構體:DaiData(SoC端DAI數據集)和AudioDaiOps(SoC端DAI操作集);在操作集模塊中實現6個ADM定義的DAI的業務接口函數;配置DAI設備節點公有參數,若有需要,則可配置SoC端的I2S寄存器信息等私有參數。

RK系列開發板 DAI模塊關系

afd6eac0-4de6-11ed-a3b6-dac502259ad0.png ?

RK系列開發板_dai-classes.puml

1.1 RK系列開發板daiadapter
  • 實例化SoC端DAI操作集:g_daiDeviceOps,核心成員字段值定義如下:Startup = RK系列開發板DaiStartup;HwParams = RK系列開發板DaiHwParams;Trigger = RK系列開發板DaiTrigger。
  • 實例化SoC端DAI數據集:g_daiData,核心成員字段值定義如下:

    DaiInit = RK系列開發板DaiDeviceInit;

    Read = RK系列開發板DaiDeviceReadReg;

    Write = RK系列開發板DaiDeviceWriteReg;

    ops = &g_daiDeviceOps,SoC端DAI操作集地址。

  • 實例化HdfDriverEntry類型的DAI驅動實體:g_daiDriverEntry,核心成員字段值定義如下:

    moduleVersion = 1,模塊版本號;

    moduleName = "DAI_RK系列開發板",模塊名;

    Bind = DaiDriverBind;

    Init = DaiDriverInit;

    Release = DaiDriverRelease。

  • DAI驅動注冊到鴻蒙系統:HDFINIT(gdaiDriverEntry)
  • 實現以下函數:

    DaiDriverInit,DAI驅動初始化函數;

    DaiDriverBind,DAI驅動綁定函數;

    DaiDriverRelease,DAI驅動釋放函數。

1.2 RK系列開發板 daiops
  • 實現以下函數:

    RK系列開發板DaiDeviceInit,初始化SoC端DAI設備函數;

    RK系列開發板DaiDeviceReadReg,讀SoC端DAI設備寄存器函數;

    RK系列開發板DaiDeviceWriteReg,寫SoC端DAI設備寄存器函數;

    RK系列開發板DaiStartup,啟動SoC端DAI設備函數;

    RK系列開發板DaiHwParams,下發SoC端DAI硬件參數函數;

    RK系列開發板DaiTrigger,監聽并處理事件函數。

總結:

在OpenHarmony操作系統中,適配音頻驅動是非常重要的一個模塊,本文只是其中的一個步驟,DAI模塊適配,通過示意圖的分析,以及核心代碼的指導,相信讀者會對音頻適配有一個基本的了解,之后的文章中,會逐步更新音頻驅動的DMA模塊適配、Codec模塊適配、Audio HCS配置等。

END

想了解更多開源技術?后臺留言,立刻安排!就喜歡獎勵一個“”和“在看”唄~

原文標題:RK系列開發板音頻驅動適配指南(一)

文章出處:【微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。


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

    關注

    25

    文章

    5680

    瀏覽量

    104702
  • 音頻驅動
    +關注

    關注

    0

    文章

    11

    瀏覽量

    8338

原文標題:RK系列開發板音頻驅動適配指南(一)

文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    迅為RK3568開發板驅動指南GPIO子系統GPIO子系統API函數的引入

    迅為RK3568開發板驅動指南GPIO子系統GPIO子系統API函數的引入
    的頭像 發表于 05-29 14:05 ?455次閱讀
    迅為<b class='flag-5'>RK</b>3568<b class='flag-5'>開發板</b><b class='flag-5'>驅動</b><b class='flag-5'>指南</b>GPIO子系統GPIO子系統API函數的引入

    迅為RK3568驅動指南GPIO子系統 GPIO操作函數實驗

    迅為電子RK3568開發板驅動指南GPIO子系統 GPIO操作函數實驗
    的頭像 發表于 05-28 15:24 ?415次閱讀
    迅為<b class='flag-5'>RK</b>3568<b class='flag-5'>驅動</b><b class='flag-5'>指南</b>GPIO子系統 GPIO操作函數實驗

    迅為RK3568開發板驅動指南GPIO子系統三級節點操作函數實驗

    迅為RK3568開發板驅動指南GPIO子系統三級節點操作函數實驗
    的頭像 發表于 05-26 15:39 ?828次閱讀
    迅為<b class='flag-5'>RK</b>3568<b class='flag-5'>開發板</b><b class='flag-5'>驅動</b><b class='flag-5'>指南</b>GPIO子系統三級節點操作函數實驗

    瑞芯微RK3506開發板Ethercat主站適配開發詳細攻略,實測微秒級抖動延遲!

    瑞芯微RK3506開發板Ethercat主站適配開發詳細攻略,實測微秒級抖動延遲!
    的頭像 發表于 05-09 15:57 ?757次閱讀
    瑞芯微<b class='flag-5'>RK</b>3506<b class='flag-5'>開發板</b>Ethercat主站<b class='flag-5'>適配</b><b class='flag-5'>開發</b>詳細攻略,實測微秒級抖動延遲!

    基于RK3576開發板的PWN使用說明

    RK3576開發板使用PWN教程及Demo
    的頭像 發表于 05-07 14:07 ?1282次閱讀
    基于<b class='flag-5'>RK</b>3576<b class='flag-5'>開發板</b>的PWN使用說明

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

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

    迅為RK3568開發板驅動指南Linux中通用SPI設備驅動

    迅為RK3568開發板驅動指南Linux中通用SPI設備驅動
    的頭像 發表于 01-23 11:02 ?2835次閱讀
    迅為<b class='flag-5'>RK</b>3568<b class='flag-5'>開發板</b><b class='flag-5'>驅動</b><b class='flag-5'>指南</b>Linux中通用SPI設備<b class='flag-5'>驅動</b>

    迅為RK3568開發板SPI驅動指南-mcp2515驅動編寫:讀寄存器函數

    迅為RK3568開發板SPI驅動指南-mcp2515驅動編寫:讀寄存器函數
    的頭像 發表于 01-20 14:43 ?1049次閱讀
    迅為<b class='flag-5'>RK</b>3568<b class='flag-5'>開發板</b>SPI<b class='flag-5'>驅動</b><b class='flag-5'>指南</b>-mcp2515<b class='flag-5'>驅動</b>編寫:讀寄存器函數

    瑞芯微主板/開發板Linux系統播放音頻方法,觸覺智能RK3562開發板演示

    本文介紹瑞芯微方案主板/開發板Linux系統播放音頻的方法,觸覺智能RK3562開發板演示,通用RK3566、
    的頭像 發表于 12-13 11:40 ?942次閱讀
    瑞芯微主板/<b class='flag-5'>開發板</b>Linux系統播放<b class='flag-5'>音頻</b>方法,觸覺智能<b class='flag-5'>RK</b>3562<b class='flag-5'>開發板</b>演示

    【迅為】瑞芯微RK3588開發板RK3568開發板區別及優勢

    RK3568開發板
    的頭像 發表于 11-18 14:19 ?1478次閱讀
    【迅為】瑞芯微<b class='flag-5'>RK</b>3588<b class='flag-5'>開發板</b><b class='flag-5'>RK</b>3568<b class='flag-5'>開發板</b>區別及優勢

    迅為iTOP-RK3568/RK3588開發板獲麒麟軟件適配認證

    迅為iTOP-RK3568/RK3588開發板獲麒麟軟件適配認證
    的頭像 發表于 10-18 14:56 ?1227次閱讀
    迅為iTOP-<b class='flag-5'>RK</b>3568/<b class='flag-5'>RK</b>3588<b class='flag-5'>開發板</b>獲麒麟軟件<b class='flag-5'>適配</b>認證

    北京迅為RK3568開發板嵌入式學習之Linux驅動全新更新-CAN+

    北京迅為RK3568開發板嵌入式學習之Linux驅動全新更新-CAN+
    的頭像 發表于 09-04 15:29 ?1046次閱讀
    北京迅為<b class='flag-5'>RK</b>3568<b class='flag-5'>開發板</b>嵌入式學習之Linux<b class='flag-5'>驅動</b>全新更新-CAN+

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發板

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發板
    的頭像 發表于 08-30 14:13 ?1361次閱讀
    <b class='flag-5'>RK</b>3588!黑神話悟空,啟動?-迅為電子<b class='flag-5'>RK</b>3588<b class='flag-5'>開發板</b>

    HZ-CORE-RK3576開發板

    HZ-CORE-RK3576開發板
    的頭像 發表于 08-29 13:58 ?653次閱讀
    HZ-CORE-<b class='flag-5'>RK</b>3576<b class='flag-5'>開發板</b>

    代低價開發板芯片RK3562來啦! — 觸覺智能RK3562開發板

    最近我收到了個開發板,有核心開發板,還有個7英寸觸摸屏幕。這些東西,都是家叫做觸覺智能的公司做的基于瑞芯微
    的頭像 發表于 08-15 17:42 ?3059次閱讀
    新<b class='flag-5'>一</b>代低價<b class='flag-5'>開發板</b>芯片<b class='flag-5'>RK</b>3562來啦! — 觸覺智能<b class='flag-5'>RK</b>3562<b class='flag-5'>開發板</b>
    主站蜘蛛池模板: 午夜免费免费啪视频观看 | 亚洲精品在线不卡 | 午夜小片 | 国产在线免 | 欧美极品在线视频 | 视频一本大道香蕉久在线播放 | 国产综合第一页在线视频 | 久久久午夜毛片免费 | 日日爱夜夜爱 | 国产一区二区三区在线观看视频 | 欧美12一13高清视频 | 免费视频一级片 | 色偷偷成人网免费视频男人的天堂 | 丝袜紧身裙国产在线播放 | 国产一区二区三区美女图片 | 大香伊人网 | 日本高免费观看在线播放 | 视频1区 | 人人乳乳香蕉大免费 | 久久久久国产一级毛片高清片 | 色香蕉在线观看 | 天天成人综合网 | 精品色| 啪啪免费网站视频观看 | 我想看一级黄色片 | 日本特黄特色大片免费看 | 欧美国产精品主播一区 | 91久久婷婷国产综合精品青草 | 久久精品隔壁老王影院 | 久久久久久青草大香综合精品 | 国产黄网站 | 免费黄色一级毛片 | 久久怡红院 | 一色屋成人免费精品网 | 国产三级 在线播放 | 欧美日韩在线一本卡 | 色网址在线观看 | 色综合久久88色综合天天 | 日韩爽片 | 男人操女人免费视频 | 久久澡人人澡狠狠澡 |