女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

RK系列開(kāi)發(fā)板音頻驅(qū)動(dòng)適配指南(一)

電子發(fā)燒友開(kāi)源社區(qū) ? 來(lái)源:未知 ? 2022-10-17 14:45 ? 次閱讀
afb13a46-4de6-11ed-a3b6-dac502259ad0.jpg

陳甲印

鴻湖萬(wàn)聯(lián)產(chǎn)品推薦官

軟通動(dòng)力高級(jí)技術(shù)專(zhuān)家

背景:

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

方案:

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

RK系列開(kāi)發(fā)板 DAI模塊適配:

DAI主要作用是通過(guò)I2S將Soc與Codec連接,實(shí)現(xiàn)在Soc和Codec之間音頻數(shù)據(jù)的傳輸,其中I2S驅(qū)動(dòng)由HDF框架提供。ADM定義的DAI接口包括:DAI設(shè)備初始化、讀寫(xiě)(Soc的)寄存器、音頻設(shè)備啟動(dòng)、下發(fā)硬件參數(shù)和事件監(jiān)聽(tīng)共6個(gè)接口。在適配器模塊中實(shí)例化ADM定義的DAI兩個(gè)結(jié)構(gòu)體:DaiData(SoC端DAI數(shù)據(jù)集)和AudioDaiOps(SoC端DAI操作集);在操作集模塊中實(shí)現(xiàn)6個(gè)ADM定義的DAI的業(yè)務(wù)接口函數(shù);配置DAI設(shè)備節(jié)點(diǎn)公有參數(shù),若有需要,則可配置SoC端的I2S寄存器信息等私有參數(shù)。

RK系列開(kāi)發(fā)板 DAI模塊關(guān)系

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

RK系列開(kāi)發(fā)板_dai-classes.puml

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

    DaiInit = RK系列開(kāi)發(fā)板DaiDeviceInit;

    Read = RK系列開(kāi)發(fā)板DaiDeviceReadReg;

    Write = RK系列開(kāi)發(fā)板DaiDeviceWriteReg;

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

  • 實(shí)例化HdfDriverEntry類(lèi)型的DAI驅(qū)動(dòng)實(shí)體:g_daiDriverEntry,核心成員字段值定義如下:

    moduleVersion = 1,模塊版本號(hào);

    moduleName = "DAI_RK系列開(kāi)發(fā)板",模塊名;

    Bind = DaiDriverBind;

    Init = DaiDriverInit;

    Release = DaiDriverRelease。

  • DAI驅(qū)動(dòng)注冊(cè)到鴻蒙系統(tǒng):HDFINIT(gdaiDriverEntry)
  • 實(shí)現(xiàn)以下函數(shù):

    DaiDriverInit,DAI驅(qū)動(dòng)初始化函數(shù);

    DaiDriverBind,DAI驅(qū)動(dòng)綁定函數(shù);

    DaiDriverRelease,DAI驅(qū)動(dòng)釋放函數(shù)。

1.2 RK系列開(kāi)發(fā)板 daiops
  • 實(shí)現(xiàn)以下函數(shù):

    RK系列開(kāi)發(fā)板DaiDeviceInit,初始化SoC端DAI設(shè)備函數(shù);

    RK系列開(kāi)發(fā)板DaiDeviceReadReg,讀SoC端DAI設(shè)備寄存器函數(shù);

    RK系列開(kāi)發(fā)板DaiDeviceWriteReg,寫(xiě)SoC端DAI設(shè)備寄存器函數(shù);

    RK系列開(kāi)發(fā)板DaiStartup,啟動(dòng)SoC端DAI設(shè)備函數(shù);

    RK系列開(kāi)發(fā)板DaiHwParams,下發(fā)SoC端DAI硬件參數(shù)函數(shù);

    RK系列開(kāi)發(fā)板DaiTrigger,監(jiān)聽(tīng)并處理事件函數(shù)。

總結(jié):

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

END

想了解更多開(kāi)源技術(shù)?后臺(tái)留言,立刻安排!就喜歡獎(jiǎng)勵(lì)一個(gè)“”和“在看”唄~

原文標(biāo)題:RK系列開(kāi)發(fā)板音頻驅(qū)動(dòng)適配指南(一)

文章出處:【微信公眾號(hào):電子發(fā)燒友開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


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

原文標(biāo)題:RK系列開(kāi)發(fā)板音頻驅(qū)動(dòng)適配指南(一)

文章出處:【微信號(hào):HarmonyOS_Community,微信公眾號(hào):電子發(fā)燒友開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入
    的頭像 發(fā)表于 05-29 14:05 ?274次閱讀
    迅為<b class='flag-5'>RK</b>3568<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>指南</b>GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入

    迅為RK3568驅(qū)動(dòng)指南GPIO子系統(tǒng) GPIO操作函數(shù)實(shí)驗(yàn)

    迅為電子RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng) GPIO操作函數(shù)實(shí)驗(yàn)
    的頭像 發(fā)表于 05-28 15:24 ?207次閱讀
    迅為<b class='flag-5'>RK</b>3568<b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>指南</b>GPIO子系統(tǒng) GPIO操作函數(shù)實(shí)驗(yàn)

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)三級(jí)節(jié)點(diǎn)操作函數(shù)實(shí)驗(yàn)

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)三級(jí)節(jié)點(diǎn)操作函數(shù)實(shí)驗(yàn)
    的頭像 發(fā)表于 05-26 15:39 ?533次閱讀
    迅為<b class='flag-5'>RK</b>3568<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>指南</b>GPIO子系統(tǒng)三級(jí)節(jié)點(diǎn)操作函數(shù)實(shí)驗(yàn)

    瑞芯微RK3506開(kāi)發(fā)板Ethercat主站適配開(kāi)發(fā)詳細(xì)攻略,實(shí)測(cè)微秒級(jí)抖動(dòng)延遲!

    瑞芯微RK3506開(kāi)發(fā)板Ethercat主站適配開(kāi)發(fā)詳細(xì)攻略,實(shí)測(cè)微秒級(jí)抖動(dòng)延遲!
    的頭像 發(fā)表于 05-09 15:57 ?485次閱讀
    瑞芯微<b class='flag-5'>RK</b>3506<b class='flag-5'>開(kāi)發(fā)板</b>Ethercat主站<b class='flag-5'>適配</b><b class='flag-5'>開(kāi)發(fā)</b>詳細(xì)攻略,實(shí)測(cè)微秒級(jí)抖動(dòng)延遲!

    基于RK3576開(kāi)發(fā)板的PWN使用說(shuō)明

    RK3576開(kāi)發(fā)板使用PWN教程及Demo
    的頭像 發(fā)表于 05-07 14:07 ?1162次閱讀
    基于<b class='flag-5'>RK</b>3576<b class='flag-5'>開(kāi)發(fā)板</b>的PWN使用說(shuō)明

    【北京迅為】iTOP-RK3568開(kāi)發(fā)板鴻蒙OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開(kāi)發(fā)實(shí)操-HDF驅(qū)動(dòng)配置UART

    【北京迅為】iTOP-RK3568開(kāi)發(fā)板鴻蒙OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開(kāi)發(fā)實(shí)操-HDF驅(qū)動(dòng)配置UART
    的頭像 發(fā)表于 03-25 11:02 ?569次閱讀
    【北京迅為】iTOP-<b class='flag-5'>RK</b>3568<b class='flag-5'>開(kāi)發(fā)板</b>鴻蒙OpenHarmony系統(tǒng)南向<b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(fā)</b>實(shí)操-HDF<b class='flag-5'>驅(qū)動(dòng)</b>配置UART

    北京迅為RK3568開(kāi)發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開(kāi)發(fā)內(nèi)核HDF驅(qū)動(dòng)框架架構(gòu)

    北京迅為RK3568開(kāi)發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開(kāi)發(fā)內(nèi)核HDF驅(qū)動(dòng)框架架構(gòu)
    的頭像 發(fā)表于 03-11 14:13 ?982次閱讀
    北京迅為<b class='flag-5'>RK</b>3568<b class='flag-5'>開(kāi)發(fā)板</b>OpenHarmony系統(tǒng)南向<b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開(kāi)發(fā)</b>內(nèi)核HDF<b class='flag-5'>驅(qū)動(dòng)</b>框架架構(gòu)

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南Linux中通用SPI設(shè)備驅(qū)動(dòng)

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)指南Linux中通用SPI設(shè)備驅(qū)動(dòng)
    的頭像 發(fā)表于 01-23 11:02 ?2501次閱讀
    迅為<b class='flag-5'>RK</b>3568<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>指南</b>Linux中通用SPI設(shè)備<b class='flag-5'>驅(qū)動(dòng)</b>

    迅為RK3568開(kāi)發(fā)板SPI驅(qū)動(dòng)指南-mcp2515驅(qū)動(dòng)編寫(xiě):讀寄存器函數(shù)

    迅為RK3568開(kāi)發(fā)板SPI驅(qū)動(dòng)指南-mcp2515驅(qū)動(dòng)編寫(xiě):讀寄存器函數(shù)
    的頭像 發(fā)表于 01-20 14:43 ?908次閱讀
    迅為<b class='flag-5'>RK</b>3568<b class='flag-5'>開(kāi)發(fā)板</b>SPI<b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>指南</b>-mcp2515<b class='flag-5'>驅(qū)動(dòng)</b>編寫(xiě):讀寄存器函數(shù)

    瑞芯微主板/開(kāi)發(fā)板Linux系統(tǒng)播放音頻方法,觸覺(jué)智能RK3562開(kāi)發(fā)板演示

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

    【迅為】瑞芯微RK3588開(kāi)發(fā)板RK3568開(kāi)發(fā)板區(qū)別及優(yōu)勢(shì)

    RK3568開(kāi)發(fā)板
    的頭像 發(fā)表于 11-18 14:19 ?1289次閱讀
    【迅為】瑞芯微<b class='flag-5'>RK</b>3588<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>RK</b>3568<b class='flag-5'>開(kāi)發(fā)板</b>區(qū)別及優(yōu)勢(shì)

    迅為iTOP-RK3568/RK3588開(kāi)發(fā)板獲麒麟軟件適配認(rèn)證

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

    RK3588!黑神話(huà)悟空,啟動(dòng)?-迅為電子RK3588開(kāi)發(fā)板

    RK3588!黑神話(huà)悟空,啟動(dòng)?-迅為電子RK3588開(kāi)發(fā)板
    的頭像 發(fā)表于 08-30 14:13 ?1136次閱讀
    <b class='flag-5'>RK</b>3588!黑神話(huà)悟空,啟動(dòng)?-迅為電子<b class='flag-5'>RK</b>3588<b class='flag-5'>開(kāi)發(fā)板</b>

    HZ-CORE-RK3576開(kāi)發(fā)板

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

    代低價(jià)開(kāi)發(fā)板芯片RK3562來(lái)啦! — 觸覺(jué)智能RK3562開(kāi)發(fā)板

    最近我收到了個(gè)開(kāi)發(fā)板,有核心開(kāi)發(fā)板,還有個(gè)7英寸觸摸屏幕。這些東西,都是家叫做觸覺(jué)智能的公司做的基于瑞芯微
    的頭像 發(fā)表于 08-15 17:42 ?2686次閱讀
    新<b class='flag-5'>一</b>代低價(jià)<b class='flag-5'>開(kāi)發(fā)板</b>芯片<b class='flag-5'>RK</b>3562來(lái)啦! — 觸覺(jué)智能<b class='flag-5'>RK</b>3562<b class='flag-5'>開(kāi)發(fā)板</b>