- 博客(101)
- 收藏
- 关注
原创 Linux ALSA 之十四:ASOC DAPM 之 Widget & Path & Route 分析
linux-alsa详解11之DAPM详解4驱动中widget初始化。
2023-05-23 23:11:26 1238 1
原创 Linux ALSA 之十三:ASOC DAPM 简介 & Widget/Kcontrol 定义
DAPM 是 的缩写,即,旨在允许便携式 Linux 设备在任何时候使用音频子系统中的最小电量。它独立于其他内核 Power Manager,故可以很容易地与其他 PM 系统共存。DAPM 对所有用户空间应用程序来说也是完全透明的,因为所有电源切换都是在 ASoC 核心内完成。对于用户空间应用程序,不需要更改代码或重新编译。DAPM 根据当前激活的音频流(playback/capture)和声卡中的 mixer 等的配置来决定哪些音频控件的电源开关被打开或关闭。在前面 SoC Kcontrol 中知道,利
2023-05-15 23:53:23 2183
原创 Linux ALSA 之四:Tinyalsa->Alsa Driver Flow分析
Tinyalsa->Alsa Driver Flow 分析
2022-11-30 23:25:44 3767 1
原创 Linux 电源管理 - Linux regulator framework
Linux 电源管理 - Linux regulator framework
2022-05-08 20:59:55 2014
原创 Linux内核文件操作
Linux内核文件操作前言一、文件操作结构体二、VFS之file_operations对象1.文件打开filp_open2.文件关闭filp_close3.文件读取vfs_read4.文件写入vfs_write4.注意点驱动模块实例前言Linux系统中的文件系统由两层结构进行构建:第一层为虚拟文件系统(VFS),第二层则是各种不同的具体的文件系统。VFS则是将各种具体的文件系统的公共部分抽取出来,从而形成一个抽象层,是Linux系统内核的一部分,它位于用户程序和具体的文件系统之间,对用户提供了标准的
2021-11-01 23:41:51 1467
转载 Android开发之音频配置文件audio_policy.conf解析全过程
本文基于android7.0分析 一、概念 audio_policy.conf: 顾名思义 audio hw 模块配置文件,用于加载音频硬件抽象层动态库。得到系统所支持的输入、输出音频设备。位于系统 /system/etc/ 二、系统解析 以如下audio_policy.conf为例: # Global configuration section:# - before audio HAL version 3.0:# lists input and out...
2021-10-05 16:19:56 1958
原创 CSDN怎么转载别人的博客
在参考“如何快速转载CSDN中的博客”后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记。 参考博客原址:http://blog.csdn.net/bolu1234/article/details/51867099 转载CSDN博客步骤: 1.CSDN博客页面右键,点击【检查】 点击检查后,页面右侧出现html代码,如下图 2.如果需要转载全文,则在html代码下侧点击选中articl...
2021-10-05 16:00:22 103 1
转载 Android开发之音频配置文件audio_policy_configuration.xml解析全过程
本文基于android7.0分析 一、前言 audio_policy.conf解析 前面我们已经介绍了audio_policy.conf 的解析全过程,但是,.conf 是一种简单的专有格式,有较大的局限性,无法描述电视和汽车等应用的复杂拓扑。Android 7.0 弃用...
2021-10-05 14:54:57 4253
原创 Putty 配置 - 自我感觉舒适
一、配色方案* Default Foreground: 255/255/255 * Default Background: 51/51/51 * ANSI Black: 77/77/77 * ANSI Green: 152/251/152 * ANSI Yellow: 240/230/140 * ANSI Blue: 205/133/63 * ANSI Blue Bold 135/206/235 * ANSI Magenta: 255/222/173 or 205/92/92
2021-09-12 22:41:42 221
原创 vmware - ubuntu添加硬盘/磁盘
关机时:开机:执行:sudo fdisk /dev/sdbsudo mkfs.ext4 /dev/sdbsudo mkdir /mnt/ext-disk1chowm yang:yang ext-disk1 -Rsudo mount /dev/sdb1 /mnt/ext-disk1ll /dev/disk/by-uuid/开机自动挂载:sudo vi /etc/fstab
2021-08-01 23:29:32 307
原创 ROM、RAM、SRAM、DRAM、Flash、SDRAM区别
文章目录前言一、ROM、RAM1、ROM(Read Only Memory)2、RAM(Random Access Memory)随机存储器二、SRAM、DRAM、SDRAM1、SRAM(static RAM)2、DRAM(dynamic RAM)3、SDRAM三、FLASH1、NOR FLASH2、NAND FLASH四、Linux 启动方式分析前言在 Linux 底层的学习/工作常常会遇到关于各种物理地址之类的,但是其分别隶属于不同的ROM/RAM/变形中,所以搞懂其相关的区别使得针对整个启动流
2021-07-05 00:31:22 2224
原创 C语言 可变参数 用法
目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据补充前言在C语言程序中我们涉及的最多的函数就是关于各种 level 的 log 输出的函数实现,这些函数基本都包括 printf() 以及相关的变形体。其中 printf() 的定义为int printf(const char *format, ...);该函数是最经典的可变参数函数,它除了有一个参数 format 固定的以外,后面的参数其个数和类型都是可变的,三个点 “…” 作为参数占位符。一、pandas是什么?示例:
2021-07-04 22:09:05 970 3
原创 Linux Cmd 之软链接与硬链接
目录前言一、软链接(符号链接)二、硬链接前言 Linux下的链接文件有点类似于Windows的快捷方式,但又不完全一样。链接文件有两种:一种是硬链接,另一种是符号链接(又称软链接)。下面介绍它们两者之间的区别。 一、软链接(符号链接)对于软链接,其文件用户数据块中存放的内容是另一文件的路径名的指向,即软链接仅仅包含所链接文件的路径名,所以软链接就是一个普通文件,只是数据块内容有点特殊,因此软链接可以对文件或目录创建。软链接一般应用于以下两个方面:1、方便管理,例如可以把一个复杂路径下的文件
2021-06-14 10:33:23 444
原创 Linux内核之32/64位除法
目录前言一、问题二、解决方法1.根本原因描述2.解决方法三、总结学习1.do_div 函数2.Linux 内核实现的64位除法函数前言本文主要是介绍 Linux 内核提供的关于32位与64位除法已经实现的接口,使得在 Linux 中需要除法运算或编译中遇到如上问题时能正确解决问题。一、问题在编译 Linux 代码时,经常会遇到如下错误: undefined symbol ‘udivdi3’ undefined symbol 'divid3'二、解决方法1.根本原因描述在嵌入式中,3
2021-06-12 16:40:50 3815 2
原创 C语言之scanf/sprintf、fscanf/fprintf、sscanf/sprintf、snprintf
@区别scanf 与 printfscanf函数和printf函数是应用于标准输入流和标准输出流的格式化输入输出语句。相信该对接口基本上都熟悉,所以此处详细贴出。一、scanf 函数scanf 函数的功能是从标准输入流读入格式化的数据。int scanf ( const char * format, ... );二、printf 函数printf 函数的功能是将格式化的数据打印到标准输出流上去。int printf ( const char * format, ... );fscan
2021-05-30 11:03:46 699 1
原创 Linux Cmd 之输入输出重定向
一、概述在工作或学习中,常常会遇到需要用到输入输出重定向。输入重定向是指把文件导入到命令中,而输出重定向则是指把原本要输出到屏幕的数据信息写入到指定文件中。相较于输入重定向,我们使用输出重定向的频率更高,所以又将输出重定向分为标准输出重定向和标准错误重定向,以及清空写入和追加写入两种模式。二、概念1)标准输入重定向(STDIN,文件描述符为 0):默认从键盘输入,也可以从其他文件或命令中输入。2)标准输出重定向(STDOUT,文件描述符为 1):默认输出到屏幕。3)错误输出重定向(STDERR,文
2021-05-29 10:03:32 732
原创 Linux内核数据结构之链表
链表一、链表结构1、单向链表2、双向链表3、环形链表二、Linux内核中链表的实现和其他很多大型项目一样,Linux内核实现了很多通用的数据结构,而且提倡大家在开发时重用。一、链表结构链表是一种存放和操作可变数量元素(常称为节点)的数据结构。链表和静态数组的不同之处在于,链表所包含的元素都是动态创建并插入链表的,在编译的时候不必知道具体需要创建多少元素,所以它们在内存中无须占用连续内存区。正是因为元素不连续地存放,所以各元素需要通过某种方式被连接在一起。1、单向链表每个元素拥有一个指向下一个元素的
2021-05-06 23:49:02 552
原创 Linux驱动-ioctl() 命令生成方式
Linux建议如下表所示的方式定义ioctl() 的命令。设备类型序列号方向数据尺寸8位8位2位13/14位1、设备类型字段(8位)命令码的设备类型字段为一个“幻数”,可以是0 ~ 0xff的值,内核中的ioctl-number.txt给出了一些推荐的和已经被使用的“幻数”,新设备驱动定义“幻数”的时候要避免与其冲突。ioctl-number.txt文档中指出如下建议:Some devices use their major number as the ident
2021-04-29 00:10:02 262
原创 CPU内存访问空间
一、CPU 可访问的物理地址空间一、CPU 可访问的物理地址空间地址总线宽度决定CPU可以访问的物理地址空间。无论是单片机还是计算机中的CPU,都有自己的地址空间,CPU只能访问自己的地址空间(不是内存地址空间,内存地址空间只是CPU地址空间的一部分),而地址空间与存储器、外设控制器中寄存器存在一一对应的地址映射,当CPU访问某一个地址空间时,硬件上自动映射到对应的存储器存储单元或外设控制器中某个寄存器,从而实现CPU对存储器、外设的访问。下面以IMX6ULL(32位的CPU)为例说明该ARM控制器.
2021-04-26 23:05:48 1294
原创 DTV专业术语
1)STM-Synchronous Transport module 同步传输模块.2)DAB-Digital Audio Broadcast 数字音频广播3)Ts-Transport stream 传输码流4)DMB-Digital Media Broadcast 数字媒体广播.5)STB-Set Top Box 机顶盒(是一个连接电视机与外部信号源的设备,它可以将压缩的数字信号转成电视内容,并在电视机上显示出来)。6)世界上有三种主要的数字电视地面广播标准:欧洲的DVB、美国的ATSC、日本的
2021-04-14 00:28:48 1873
原创 PCIe学习-PCIe总线体系结构入门:事务层-数据链路层-物理层(八)
和很多的串行传输协议一样,一个完整的PCIe体系结构包括应用层、事务层(Transaction Layer)、数据链路层(Data Link Layer)和物理层(Physical Layer)。其中,应用层并不是PCIe Spec所规定的内容,完全由用户根据自己的需求进行设计,另外三层都是PCIe Spec明确规范的,并要求设计者严格遵循的。一个简化的PCIe总线体系结构如上图所示,其中Device Core and interface to Transaction Layer就是我们常说的应用层或者
2021-03-08 11:01:49 2115
原创 PCIe学习-PCIe总线怎样做到在软件上兼容PCI总线(七)
前面的文章中多次说道,PCIe总线在软件上是向前兼容PCI总线的。因此,PCIe总线完整的继承了PCI总线中的配置空间(Configuration Header)的概念。在PCIe总线中也有两种Header,Header0和Header1,分别代表非桥和桥设备,这与PCI总线是完全一致的。在PCIe总线中,非桥设备也就是Endpoint。如下图所示:如图所示,对比前面介绍的PCI的Header可以发现:PCIe的Header基本上与PCI的Header是一致的,只有少许差别。但是这些差别并不影响PCIe
2021-03-08 10:34:17 260
原创 PCIe学习-PCIe总线的基本概念(六)
PCIe总线的提出可以算是代表着传统并行总线向高速串行总线发展的时代的到来。实际上,不仅是PCI总线到PCIe总线,高速串行总线取代传统并行总线是一个大的趋势。如ATA到SATA,SCSI到USB等……不过,为了兼容之前的PCI总线设备,虽然PCIe是一种串行总线,无法再物理层上兼容PCI总线,但是在软件层上面却是兼容PCI总线的。和很多的串行总线一样,PCIe采用了全双工的传输设计,即允许在同一时刻,同时进行发送和接收数据。如下图所示,设备A和设备B之间通过双向的Link相连接,每个Link支持1到3
2021-03-08 10:29:23 418
原创 PCIe学习-PCI总线的地址空间分配(五)
PCI总线具有32位数据/地址复用总线,所以其存储地址空间为2的32次方=4GB。也就是PCI上的所有设备共同映射到这4GB上,每个PCI设备占用唯一的一段PCI地址,以便于PCI总线统一寻址。每个PCI设备通过PCI寄存器中的基地址寄存器来指定映射的首地址。如下图所示:注:需要注意的是PCI的地址空间和x86系统中的FSB并不是对等的,而是具有一定的映射关系。PCI体系结构中,一共支持三种地址空间:Memory Address Space、I/O Address Space和Configuratio
2021-03-08 10:14:13 757
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人