- 博客(207)
- 资源 (17)
- 收藏
- 关注
原创 ALSA学习(8)——DAPM详解之一:kcontrol
参考博客:https://blog.youkuaiyun.com/DroidPhone/article/details/12793293
2024-02-27 14:14:58
1792
原创 ALSA学习(7)——ASoC架构中的codec
参考博客: https://blog.youkuaiyun.com/DroidPhone/article/details/7283833
2024-02-27 14:14:29
1351
原创 ALSA学习(6)——ASoC架构中的platform
参考博客:https://blog.youkuaiyun.com/DroidPhone/article/details/7316061
2024-02-27 14:13:53
1332
原创 MODULE_DEVICE_TABLE 函数作用
这个mcth函数就是对应驱动中的match匹配函数,一般来说,这个match函数中只有一个compatible的属性,用于和设备树进行匹配,但是这里多了一个data,这个data就是用于表示对应的驱动是第几个,热拔插后会通过这个data进行匹配,就不需要其余i的东西了。这里面又两个参数一个设备类型, 一个就是设备符号表,通过这个符号表进行匹配。这是在驱动中的一个宏,这个宏的主要作用是就是提示这个驱动外设支持热插拔。
2024-01-25 11:29:37
761
原创 ALSA学习(5)——ASoC架构中的Machine
参考博客:https://blog.youkuaiyun.com/DroidPhone/article/details/7231605(以下内容皆为原博客转载)
2024-01-02 17:14:12
1020
原创 ALSA学习(5)——设备中的alsa
参考博客: https://blog.youkuaiyun.com/DroidPhone/article/details/7165482(一下内容基本是原博主的博客转载)
2023-12-28 14:07:22
1190
原创 ALSA学习(4)——Control设备的创建
要自定义一个Control,我们首先要定义3各回调函数:info,get和put。然后,定义一个snd_kcontrol_new结构:代码路径: kernel_4.14nclude\sound\control.hunion {} tlv;iface。
2023-12-28 14:06:14
1298
原创 C语言中常用的sscanf函数
sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。sscanf遇到 空格 就会返回 (\n 也同样会返回 \n 之前的字符)还有很多用法大家可以去百度下,这里只是做一些简单的总结。可以看到这里因为一些不同的格式,会导致一些不同的结果。这里面不同的位置加数字会有不同的结果。其余的符号并不会返回(我只验证常用的,不包括所有)需要注意的是 不同的格式之间需要用 空格 隔开。
2023-12-22 11:44:15
1268
原创 C语言的参数传递
所以我们这里的transfer_function 函数虽然传递的是数组名,但是实际上就是传递的一个指针。这个也是内核中常用的i2c发送数据的一个方法,可能不同之处在于封装,有的平台会封装i2c发送数据的长度。这里需要注意的是 C语言中,数组名实际上是一个指向数组首元素的指针。每个数据都能都读出来。
2023-12-22 10:35:54
440
原创 linux驱动之input子系统简述
Input驱动程序是linux输入设备的驱动程序,我们最常见的就按键,触摸,插拔耳机这些。其中事件设备驱动程序是目前通用的驱动程序,可支持键盘、鼠标、触摸屏等多种输入设备。Linux input 子系统将一个输入设备的输入过程分成了设备驱动(input device driver)和事件驱动(input event driver)两个层。前者负责从底层硬件采集数据;后者负责与用户程序接口,将采集到的数据分发给不同的用户接口。通过这样的设计,将千差万别的设备统一到了为数不多的几种驱动接口上。
2023-09-25 16:45:49
512
原创 开发板搭建NFS文件系统
最重要的发现 开发板不能和设备直接相连接,不然会出现开发板子ping不通pc段的问题,好像网上有其余的问题,这只是我遇到的问题。
2023-09-14 23:33:00
393
原创 命令行git联网失败,但是实际可以联网
最近下载代码的时候发现总是告诉我连不上github的网页,但是我自己通过浏览器又可以上网,找了半天发现这个方法可以。打开git bash。
2023-09-06 15:17:00
1626
原创 linux驱动学习加强版-6(驱动私有数据)
一个驱动设备基本上包含设备号,类,设备状态等等,我们会使用一个结构体来定义这个这个设备的所有属性,然后通过指针去访问这个结构体里面的属性,在open里面去添加这些属性,然后就可以在其余函数里用去访问对应设备的私有四句。因为我们在一个驱动里面可以支持多个设备,如果不进行私有数据的管理,那么很容易就会导致我们在驱动里面读取数据的时候出现错误,而设置私有数据就是为了避免这种情况。同样的我们也可以在write的时候去传递buffer。私有数据指的是多个设备不会相互干扰的意思。
2023-05-17 14:03:05
985
原创 linux驱动学习加强版-5(ioctl的使用)
ioctl是用户空间和内核空间相互交流时候用的比较多的一种手段。我们也可以在HAL层通过ioctl调到驱动里面。
2023-04-10 14:42:15
828
原创 linux驱动学习加强版-1 (基本知识补充)
虽然现在已经在Linux底层驱动工程师的路上走了一年多,但是很多细节应为工作中没有遇到过,所以也没有去了解过详细的原因,但是最近发现一些基础还是很重要的,所以现在开始弥补一些东西,经可能的详细的去说明一些东西。后续也打算将这一些系列更新下去。
2023-03-20 23:14:28
533
原创 ALSA学习(3)——声卡的创建
许久没有更新关于audio的东西了,因为项目原因,接下来又要继续搞audio的东西了,所以继续写一些文章,作为一个温故知新的过程吧。首先看一下声卡的架构驱动把。
2023-03-08 17:28:06
867
1
cppchek工具 1.90版本 for linux版本
2024-02-29
MTK的android驱动移植
2023-12-18
android投屏幕软件
2022-04-27
hciconfig蓝牙测试工具
2022-04-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人