RK3399 Linux4.4 Audio (simple-card)開發指南

    RK3399的CPU採用big.LITTLE大小核架構,雙Cortex-A72大核+四Cortex-A53小核結構,對整數、浮點、內存等作了大幅優化,在整體性能、功耗及核心面積三個方面都具革命性提升。 RK3399的GPU採用四核ARM新一代高端圖像處理器Mali-T860,集成更多帶寬壓縮技術:如智能迭加、ASTC、本地像素存儲等,還支持更多的圖形和計算接口,總體性能比上一代提升45%。

    盈鵬飛科技最新研發的RK3399安卓主板,搭載了最新android7.1 系統,4G DDR3內存,32G EMMC 存諸等...RK3399開發板主板尺寸爲:146*102mm,設計有非常豐富的接口,板載5路UART,支持USB3.0高性能設備接口, WIFI/BT二合一,HDMI OUT 、HDMI INT、Type C、4G、IR、以太網等;可擴展模塊包括4G模塊、Camera(1300萬、500萬)等應用類功能模塊。

     RK3399安卓主板爲消費類電子、智能終端、MID、無線通訊、醫療設備、工業控制等行業產品的應用開發而設計,超強的視頻處理能力,超高清視頻輸出優勢,口豐富、性能穩定。支持Android\Linux\Ubuntu系統,軟件支持完善,開放源代碼適合企業二次開發帶高清顯示的商顯廣告機、自助售貨機、教育終端等,可降低研發門檻,縮短產品研發週期。

音頻開發指南

    一個聲卡包含 cpu_dai, codec_dai, 以及 dai_link 組成,分別對應 cpu dai 的 dirver,比如I²S driver, spdif driver; codec driver, 比如 rt5640 codec driver; dai_link driver,也就是 machine driver, 比如 sound/soc/rockchip/rockchip_rt5640.c。 4.4 的內核中支持兩種方式創建聲卡,一種是通用的 simple-card framework,一種是傳統的編寫自定義的 machine driver 來創建。 本文檔均以 rt5640 爲例。

simple-card

   Simple card 即簡單通用的 machine driver, 如果 simple-card 框架足夠滿足需求,建議 優先使用 simple card 框架,簡單,方便,且易用。

1.添加 codec driver,比如添加:sound/soc/codec/rt5640.c

2.修改 sound/soc/codec/Kconfig 以及 Makefile 加入驅動編譯

3.menuconfig 中 enable simple card 以及 codec

4.產品的 DTS 中添加 Simple Card Node

    需要注意的是,如上 rt5640 的 clocks 即 mclk, upstream 代碼遵循誰使用 clk 誰申請的原 則,所以後續自己添加的 codec driver,如果有使用外部 clk 作爲 mclk,需要做同樣的適配。

自定義的 Machine Driver

    simple card 不足以滿足需求時,這個時候就需要編寫相對應的 machine driver,比如: sound/soc/rockchip/rockchip_rt5640.c,然後在這個 machine driver 添加特殊的控制,路由等等。這裏不做舉例,延續原有的格式,以及目錄下均有參考代碼可作爲參照。

    盈鵬飛嵌入式專注於Atmel、TI、NXP、Rockchip等平臺產品的研發。公司團隊擁有超過10年的ARM軟硬件開發經驗,擁有智能家居、人機界面、工業縫紉機、電力採集器等多個成功案例;公司2005年成立至今,主要從事工業控制領域開發,先後開發了以ARM9- AT91SAM9G45、Cortex-A8-335x 、A7- i.MX6UL 、A9-I.MX6Q爲主控的各種方案,深入WINCE/LINUX 嵌入式系統開發多年,產品以高穩定性,高可靠性獲得客戶的信賴!2017年我們再出發,依賴工業控制領域多年的設計造詣,公司以創"芯"科技,智造雙贏爲經營理念,先後開發了以RK3288、RK3399 等處理器爲應用的ANDROID解決方案,承接項目定製、BSP以及APP開發,爲客戶提供專業化的量身定製廣告機、消費類電子等解決方案。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章