千家信息网

怎样进行RK3399 Linux4.4 Audio开发

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,怎样进行RK3399 Linux4.4 Audio开发,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。RK3399的CPU采用big.
千家信息网最后更新 2024年11月23日怎样进行RK3399 Linux4.4 Audio开发

怎样进行RK3399 Linux4.4 Audio开发,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

RK3399的CPU采用big.LITTLE大小核架构,双Cortex-A72大核+四Cortex-A53小核结构,对整数、浮点、内存等作了大幅优化,在整体性能、功耗及核心面积三个方面都具革命性提升。 RK3399的GPU采用四核ARM新一代高端图像处理器Mali-T860,集成更多带宽压缩技术:如智能迭加、ASTC、本地像素存储等,还支持更多的图形和计算接口,总体性能比上一代提升45%。

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 添加特殊的控制,路由等等。这里不做举例,延续原有的格式,以及目录下均有参考代码可作为参照。

关于怎样进行RK3399 Linux4.4 Audio开发问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

0