自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (7)
  • 收藏
  • 关注

翻译 第13章-词汇表和索引

Introducing-Bluetooth-LE-Audio-book 第13章-词汇表和索引

2022-08-28 09:53:39 551

翻译 第12章-Bluetooth® LE Audio applications

Introducing-Bluetooth-LE-Audio-book 第12章-Bluetooth® LE Audio applications

2022-08-28 09:52:33 893

翻译 第11章-顶层蓝牙® LE Audio profile

Introducing-Bluetooth-LE-Audio-book 第11章-顶层蓝牙® LE Audio profile

2022-08-28 09:50:54 1589

翻译 第10章-音量&音频输入&麦克风控制

Introducing-Bluetooth-LE-Audio-book 第10章-音量&音频输入&麦克风控制

2022-08-27 22:13:19 1506

翻译 第9章-Telephony and Media Control

Introducing-Bluetooth-LE-Audio-book 第9章-Telephony and Media Control

2022-08-27 22:05:36 894

翻译 第8章-设置和使用广播音频流

Introducing-Bluetooth-LE-Audio-book 第8章-设置和使用广播音频流

2022-08-27 21:42:11 1890

翻译 第7章-设置单播音频流

Introducing-Bluetooth-LE-Audio-book 第7章-设置单播音频流

2022-08-27 21:17:11 1993

翻译 第6章-CAP和CSIPS

Introducing-Bluetooth-LE-Audio-book 第6章-CAP和CSIPS

2022-08-27 20:49:43 1636

翻译 第5章-LC3, latency and QoS

Introducing-Bluetooth-LE-Audio-book 第5章-LC3, latency and QoS

2022-08-27 20:44:26 2741

翻译 第4章-Isochronous Streams

Introducing-Bluetooth-LE-Audio-book 第4章-Isochronous Streams

2022-08-27 18:10:14 2776

翻译 第3章-蓝牙®LE audio新概念

Introducing-Bluetooth-LE-Audio-book 第3章-蓝牙®LE音频新概念

2022-08-27 17:44:36 2937

翻译 第2章-Bluetooth® LE audio架构

Introducing-Bluetooth-LE-Audio-book 第2章 Bluetooth® LE 音频架构

2022-08-27 17:36:13 2667

翻译 第1章-背景与遗产

Introducing-Bluetooth-LE-Audio-book 第1章-背景与遗产

2022-08-27 17:20:48 991

原创 8.声卡驱动06-自己实现alsa驱动-虚拟声卡-widget

平台:ubuntu 16.04,kernel版本是4.15.0, 理论任何平台都可以,甚至是android,只要能编译通过。需要完成的功能:一个codec里面可能有多个录音通道,如果要打开某一通道录音,需要怎么做?目的:就像做数学题一样,看一遍答案,以为自己看懂了,就会了,非也,真到自己去做时,不一定能做出来。那就在自己的驱动里实现一遍。本文只追求应用,不讲原理。想了解细节可以看官方文档或者看https://blog.csdn.net/droidphone/category_1118446.html。

2021-11-19 13:08:21 1829

原创 8.声卡驱动05-自己实现alsa驱动-虚拟声卡-kcontrol

平台:ubuntu 16.04,kernel版本是4.15.0, 理论任何平台都可以,甚至是android,只要能编译通过。需要完成的功能:前几篇文章完成了播放/录音功能,声卡驱动就这样完成了吗?某种意义上讲是完成了,但是如果需要控制音量怎么办?这里加一个kcontrol,实现音量控制功能。目的:就像做数学题一样,看一遍答案,以为自己看懂了,就会了,非也,真到自己去做时,不一定能做出来。那就在自己的驱动里实现一遍。本文只追求应用,不讲原理。想了解细节可以看官方文档或者看https://blog.csd

2021-11-16 21:43:02 1701

原创 8.声卡驱动04-写一个alsa应用程序

平台:ubuntu 16.04,kernel版本是4.15.0, 理论任何平台都可以,甚至是android,只要能编译通过。需要完成的功能:一个进程播放音频,一个进程录音。直接贴代码#include <stdio.h>#include <fcntl.h>#include <sys/types.h>#include <sys/stat.h>#include <sys/wait.h>#include <alsa/asoundlib

2021-10-27 11:14:06 898

原创 8.声卡驱动03-自己实现alsa驱动-虚拟声卡-缓存

平台:ubuntu 16.04,kernel版本是4.15.0, 理论任何平台都可以,甚至是android,只要能编译通过。需要完成的功能:传说中的回采,做过语音方案的童鞋应该能懂,就是播放的音频,录音录回去。因为是虚拟的声卡,不涉及硬件操作,也只能这样看点效果。目的:当然是为了能更直观的理解alsa驱动框架。虚拟出一个声卡,不涉及复杂的硬件操作,不涉及复杂的硬件调试,只关心数据流怎么一步一步传给应用的。1.数据是怎么交互的以playback为例驱动程序分配一个bufferAPP不断写

2021-10-27 11:09:31 5476 4

原创 8.声卡驱动02-自己实现alsa驱动-虚拟声卡-匹配

亲自动手,丰衣足食。本文目的是实现史上最简单的Linux声卡驱动。如果你是初学者,可能从其他文章了解到声卡驱动,不出意外你可能已经云里雾里了,除非你聪明绝顶(秃顶那种)。其实生成声卡的节点,子需要几个函数就可以了,它们分别是:platform:snd_soc_register_component()注册CPU DAI, snd_soc_register_platform()注册platform;codec:snd_soc_register_codec()注册CODEC DAI和CODEC;mac

2021-10-27 11:01:44 3617 2

原创 8.声卡驱动01-一些好文章

这里保存一些优秀的文章Linux ALSA声卡驱动之一:ALSA架构简介Linux ALSA声卡驱动之二:声卡的创建Linux ALSA声卡驱动之三:PCM设备的创建Linux ALSA声卡驱动之四:Control设备的创建Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)Linux ALSA声卡驱动之六:ASoC架构中的MachineLinux ALSA声卡驱动之七:ASoC架构中的CodecLinux ALSA声卡驱动之八:ASoC架构中的PlatformALSA声卡驱

2021-10-27 10:52:55 812

原创 7.camera驱动08-全志-media framework

平台:全志A133 androidQ启动过程贯穿全篇的数据流向sensor0 ==> mipi0 ==> csi0 ==> isp0 ==> scale0(vipp0) ==> vinc0(dma0) ==> video0sensor1 ==> mipi1 ==> csi1 ==> isp0 ==> scale1(vipp1) ==> vinc1(dma1) ==> video1sensor、mipi、csi、isp、sc

2021-10-08 18:24:13 1652 4

原创 7.camera驱动07-写一个v4l2应用程序

直接贴代码:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <fcntl.h>#include <unistd.h>#include <errno.h>#include <malloc.h>#include <sys/stat.h>#include <sys/types.h>#include <

2021-10-06 13:09:50 265

原创 7.camera驱动06-自己实现v4l2驱动-虚拟摄像头

1. 框架分层实际上的v4l2框架:v4l2本质是还是一个字符设备驱动,有自己的fops。每注册一个video_device都会以次设备号为下标放到v4l2层的一个数组里。应用调用open函数时,v4l2会根据次设备号找到对应的video_device,进而调用video_device对应的fops。2. 注册v4l2_dev和video_device(1) 注册platform_device和platform_driver,也并不是一定要这样做,只是大家都这样做,那也就跟着做了(2) 注册

2021-10-04 22:11:19 2777

原创 7.camera驱动06-自己实现v4l2驱动-准备

平台:Ubuntu-16.04$uname -aLinux vbox-pc 4.15.0-112-generic #113~16.04.1-Ubuntu SMP Fri Jul 10 04:37:08 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux可以看到内核版本是4.15.0,去www.kernel.org找同版本的内核,如果没有请找最相近的内核代码下载完后,解压,把linux-4.15\drivers\media\platform\vivid复制到ubunt

2021-10-04 22:07:35 511 1

转载 7.camera驱动05-V4L2框架-control的数据结构

原文地址:https://yellowmax.blog.csdn.net/article/details/83242446本篇文章写一下 V4L2 里面的众多 control 的组织方式,也就是它的数据结构。主要就是新建的 control 是如何存放的,以及在需要用到的时候如何查找。里面用到了类似于「桶」的概念,没错就是「桶排序」里面的那个桶,这种比较特殊的小优化为查找速度提供了不少的帮助。话不多说,直接进入正题,本文章是基于 linux-4.4.138 内核来探讨的。几个结构体之间的关系st

2021-10-02 21:57:35 231

转载 7.camera驱动04-V4L2框架-control

原文地址:https://yellowmax.blog.csdn.net/article/details/81430870本文介绍在 v4l2 框架下面的 control 控制接口,这些接口通常用来实现一些特效控制、菜单控制等等。简介既然涉及到视频输入,就会有很多与 ISP 相关的效果,比如对比度、饱和度、色温、白平衡等等,这些都是通用的、必须的控制项,并且大多数仅需要设置一个整数值即可。V4L2 很贴心地为我们提供了这样一些接口以供使用(可以说是非常贴心的了),在内核里面,这些控制项被抽象为一个

2021-10-02 21:56:08 550

转载 7.camera驱动03-V4L2框架-videobuf2

原文地址:https://yellowmax.blog.csdn.net/article/details/81054611本文介绍在 v4l2 框架之下的数据流交互的实现与使用,主要目的是实现一个能够进行用户空间与内核空间进行数据交互、数据流格式设置、数据流 buffer 申请与释放、数据流开启与关闭的 video 设备驱动。简介videobuf2 用于连接 V4L2 驱动层与用户空间层,提供数据交流的通道,它可以分配并管理视频帧数据。videobuf 层实现了很多 ioctl 函数,包括 buf

2021-10-02 21:54:00 347

转载 7.camera驱动02-V4L2框架-media device

原文地址:https://yellowmax.blog.csdn.net/article/details/80889947本文对 V4L2 的运行时数据流设备管理做一个详细的介绍,包括什么叫「运行时设备管理」,它是干什么用的,怎么使用等等。本文的目标是掌握 media device 的编码使用方法以及功能运用。media framework简介相关的控制 API 在 Documentation/DocBook/media/v4l/media-controller.xml,本文档聚焦于内核测的

2021-10-02 21:50:34 426

转载 7.camera驱动01-V4L2框架-v4l2 device

原文地址:https://yellowmax.blog.csdn.net/article/details/80782068本文对 V4L2 中比较容易理解的骨干结构进行介绍,涉及两个核心结构体:v4l2_device, v4l2_subdev。文章围绕这两个结构体以 Linux-4.4 内核的 omap3isp 代码为例进行相关的介绍,所谓介绍还是起到辅助作用,真真儿的还是要靠 RTFSC、WTFSC。下面「该例程」均指的是 omap3isp 这个例程。V4L2 框架补充首先看图:V4L2

2021-10-02 21:46:57 434

转载 7.camera驱动00-V4L2框架概述

导读:V4L2 是专门为 linux 设备设计的一套视频框架,其主体框架在 linux 内核,可以理解为是整个 linux 系统上面的视频源捕获驱动框架。其广泛应用在嵌入式设备以及移动端、个人电脑设备上面,市面上的编码产品类如:SDV、手机、IPC、行车记录仪都会用到这个框架来进行视频采集,当然,有比较厉害的厂家直接就使用自己实现的一套视频采集框架,这种属于是厂家中战斗机了。下文主要参考linux-4.4内核文档对V4L2框架进行一次全局的介绍。V4L2框架简介几乎所有的设备都有多个 IC 模块,它们可

2021-10-02 21:33:24 1066

原创 6. lcd驱动2-浅析mipi

1. MIPI简介MIPI联盟是一个开放的会员制组织。2003年7月,由美国德州仪器(TI)、意法半导体(ST)、英国ARM和芬兰诺基亚(Nokia)4家公司共同成立。MIPI联盟旨在推进移动应用处理器接口的标准化 。MIPI联盟下面有不同的WorkGroup,分别定义了一系列的手机内部接口标准,比如摄像头接口CSI、显示接口DSI、射频接口DigRF、麦克风/喇叭接口SLIMbus等。MIPI包括:MIPI-DBI 显示总线接口:MIPI联盟发布的第一个显示标准,用来规定显示接口;MIPI-DP

2021-08-28 10:24:39 2668

原创 6. lcd驱动1-硬件原理

1. 液晶显示原理TFT-LCD(Thin Film Transistor Liquid Crystal Display)即薄膜晶体管液晶显示器,是微电子技术与液晶显示器技术巧妙结合的的一种技术。目前主流的LCD显示器都是TFT-LCD,是由原有液晶技术发展而来。TFT液晶为每个像素都设有一个半导体开关,以此做到完全的单独控制一个像素点,液晶材料被夹在TFT阵列和彩色滤光片之间,通过改变刺激液晶的电压值就可以控制最后出现的光线强度和色彩,如下图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下

2021-08-26 09:26:16 8351

原创 4. 例-内核高精度定时器

1.初始化定时器void hrtimer_init(struct hrtimer *timer, clockid_t which_clock, enum hrtimer_mode mode);参数说明timer:描述高精度定时器的结构体; struct hrtimer { struct timerqueue_node node; ktime_t _softexpires;

2021-08-18 16:24:03 138

原创 2. 例-中断(GPIO按键事件)

LCD驱动(1)硬件部分​ Tiny4412开发板​ 型号:AT070TN92​ 分辨率:800*480​ 接口:RGB888​ 全志A33开发板​ 型号:​ 分辨率:1024*600​ 接口:RGB硬件连接接口​ TTL(RGB)​ LVDS​ MIPI时序[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S3OwZCjY-1629086471921)(file:///C:\Users\aspire\AppData\Local\Tem

2021-08-16 23:05:48 875

原创 1. 例-字符设备驱动(开关灯)

字符设备驱动1.管理设备号dev_t dev = MKDEV(主设备号,次设备号) -->组合设备号主设备号 = MAJOR(dev_t dev) -->提取主设备号次设备号=MINOR(dev_t dev) -->提取次设备号2.分配设备号#include <linux/fs.h>int register_chrdev_region(dev_t from, unsigned count, const

2021-08-15 16:31:31 320

转载 error: device not found

https://blog.csdn.net/weixin_42953268/article/details/87183535

2019-08-25 16:01:44 3694

原创 ubuntu建自己的repo服务器

git服务器搭建说明服务器端,下文简称:A端;客户端,下文简称:B端;(注意:A端和B端,都是同一电脑,因为懒得新建两个虚拟机,如果想区分两台电脑,把以下步骤的A端IP地址(localhost)改成对应的IP,就可以了)安装必要软件(A端)sudo apt-get install git-core openssh-server openssh-client安装配置gito...

2019-07-28 12:00:35 790

linux 3.X wm8960 codec 代码跟读

linux 3.X wm8960 codec 代码跟读

2021-10-31

MIPI及DSI协议介绍.pdf

MIPI及DSI协议介绍

2021-08-27

MIPI DSI Essential2.ppt

MIPI DSI Essential

2021-08-27

通俗易通理解XGBoost算法

一篇不错的博文能通俗易通理解XGBoost算法。 有公式推导,有例子说明,相当不错,推荐一下给大家。

2020-02-02

ubuntu建自己的repo服务器.zip

ubuntu建自己的repo服务器,内有详细的操作步骤,另外附带有所需要的repo工具和其他所需要的源代码,亲测可行!!!

2019-07-27

Android Studio快捷键大全

比较常用的Android Studio快捷键,分享给大家。

2017-07-02

makefile教程(中文版)

非常详细的makefile教程,分享一下。

2017-06-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除