自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(298)
  • 收藏
  • 关注

转载 深入理解Android音频框架AudioTrack到AudioFlinger及Mix过程 ******

深入理解Android音频框架AudioTrack到AudioFlinger及Mix过程逆流的鱼yuiop发表于何俊林订阅1K AudioTrack构造过程 AudioTrack 数据写入 获取音频输出 创建AudioTrackThread线程 申请Track AudioFlinger 概述 AudioTrack和AudioFlinger的通信机制 建立联...

2019-03-13 21:05:24 1046 1

转载 git使用:如何进行版本回退或只是修改已提交的commit ----mark

git使用:如何进行版本回退或只是修改已提交的commit在开发过程中,我们经常需要使用版本管理工具,git就是最为著名的一款版本软件,它诞生于linux之父-李纳斯·托沃兹(Linus Torvalds)之手。今天我为大家分享一下,如何使用git进行版本回退以及如何仅修改已提交的commit,git给你吃“后悔药”。版本回退git reset当你已经提交了不想提交的代码,或者提交到gerrit服务器后被打回重新提交怎么办?这是我们就需要git reset这颗“后悔药“了。进入要回.

2020-07-31 15:27:49 1185

转载 SecureCRT自动保存日志设置

SecureCRT自动保存日志设置展开嵌入式开发经常由于无法debug而只能使用串口打印日志的方式调试代码,SecureCRT支持“SSH2”、“Serial”等多种连接方式,是嵌入式工程师开发必备工具之一。串口日志打印由于打印数量大,经常会超过SecureCRT一屏显示范围,所以设置自动日志保存功能对于查找问题很有必要。SecureCRT保存日志有2种方式:手动模式和自动模式。一、手动模式:选择“File”->“Log Session”,会弹出保存Session路径及名称

2020-06-24 10:39:31 1485

原创 android音频hal层简介

https://blog.csdn.net/zjli321/article/details/52424401展开如下图为android音频hal层所处的位置:从上图可以看出,HAL层下面使用TiniAlsa(Android下一个简约的Alsa版本)。HAL层分为两部分:一部分为各种音频设备,每种音频设备由一个独立的库文件实现:如audio.a2dp.default.so(管理蓝...

2020-05-06 10:32:01 2951

转载 tinymix的命令格式

转载:https://blog.csdn.net/jinchengzhou/article/details/82796888展开最近在调试安卓系统的alsa驱动,一开始搞不清楚tinymix要怎么用,今天终于搞清楚了,其实也很简单:先打tinymix,首先系统要有安装好,如果没有的话,需要编译android/external/tinyalsa目录,就会生成1个so和4个可执行文件...

2020-04-29 16:54:06 918

转载 tinymix调试音频i2s

转载:https://blog.csdn.net/u010481276/article/details/81122226音频调试工具:audacity ,cool edit, gold wav Sonic Visualiserhttp://www.360doc.com/content/18/0314/12/32862269_736896674.shtml./hardware/qcom/a...

2020-04-29 16:51:32 1644

转载 linux驱动由浅入深系列:tinyalsa(tinymix/tinycap/tinyplay/tinypcminfo)音频子系统之一【转】

本文转载自:http://blog.csdn.net/radianceblau/article/details/64125411目前linux中主流的音频体系结构是ALSA(Advanced Linux Sound Architecture),ALSA在内核驱动层提供了alsa-driver,在应用层提供了alsa-lib,应用程序只需要调用alsa-lib提供的API就可以完成对底层硬件的操...

2020-04-29 16:48:10 596

转载 Android音频底层调试-基于tinyalsa

yxwkaifa2016-04-01原文因为Android中默认并没有使用标准alsa,而是使用的是tinyalsa。所以就算基于命令行的測试也要使用libtinyalsa。Android系统在上层Audio千变万化的时候,能够能这些个工具实时查看到,比方音频通道的切换等等.1.编译tinyalsa配套工具$mmmexternal/tinyalsa/编译完后会产生ti...

2020-04-29 16:44:55 658

转载 Android系统属性值设置和使用

Android系统属性值设置和使用原创 https://blog.csdn.net/qq_30624591/article/details/102679377展开每个属性都有一个名称和值,他们都是字符串格式。属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以get/set属性。属性服务在“init”守护进程中运行...

2020-04-26 21:53:54 1017

转载 Android4.4属性系统-属性设置

Android4.4属性系统-属性设置原创:https://www.jianshu.com/p/945ff5476cf8DD_Dog关注2019.07.30 16:36:31字数 844阅读 81一、Android4.4属性系统系列文章Android4.4属性系统-初始化Android4.4属性系统-系统服务Android4.4属性系统-内存空间共享Android4.4属性系统...

2020-04-26 21:51:42 840

转载 Android4.4属性配置SystemProperties使用笔记

Android4.4属性配置SystemProperties使用笔记原创:https://www.jianshu.com/p/d39e55335cdfDD_Dog关注2019.07.30 09:30:45字数 363阅读 98本文简单介绍SytemProperties的调用流程涉及到的源文件:frameworks/base/core/java/android/os/SystemP...

2020-04-26 21:50:25 729

原创 Android4.4-属性的使用总结

Android4.4-属性的使用总结https://www.jianshu.com/p/69e6b34475ffDD_Dog关注2019.08.02 11:06:02字数 1,575阅读 152一、Android4.4属性系统系列文章Android4.4属性系统-初始化Android4.4属性系统-系统服务Android4.4属性系统-内存空间共享Android4.4属性...

2020-04-26 21:49:05 339

原创 Android系统属性值设置和使用

转载:https://blog.csdn.net/qq_30624591/article/details/102679377每个属性都有一个名称和值,他们都是字符串格式。属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以get/set属性。属性服务在“init”守护进程中运行。每一个客户端想要设置属性时,必须连接属性服务...

2020-04-26 21:47:38 2817

转载 Linux驱动编程中EXPORT_SYMBOL()介绍

推荐看原文:https://blog.csdn.net/qq_37858386/article/details/78444168原创海月汐辰 最后发布于2017-11-04 16:43:22 阅读数 13633 收藏展开一、查看内核驱动代码你会发现很多的函数带有EXPORT_SYMBOL()宏定义。二、那么EXPORT_SYMBOL的作用是什么?EXPORT...

2020-04-26 21:46:22 172

转载 device_add

八、device_add强烈建议阅读原文:https://blog.csdn.net/qq_20678703/article/details/52841706展开1.总体框架linux设备模型:设备device,驱动driver,总线bus。设备代表物理设备,驱动代表了设备操作方法,bus则是用来管理和匹配它们。device和driver里面都有一个成员变量bus,表示它们归哪个...

2020-03-31 21:15:44 1287

转载 Linux内核部件分析 设备驱动模型之driver ---mark 详细

Linux内核部件分析设备驱动模型之driver转载:https://www.linuxidc.com/Linux/2011-10/44627p7.htm上节我们分析设备驱动模型中的device,主要是drivers/base/core.c,可以说是代码量最大的一个文件。本节要分析的驱动driver,就要相对简单很多。原因也很简单,对于driver,我们能定义的公共部...

2020-03-31 20:18:14 382

转载 android系统编译过程详解

android系统编译过程详解原创:https://blog.csdn.net/huangxiaominglipeng/article/details/41745199第一部分:概述在研究Android编译系统之前,我们首先需要了解Linux系统的make命令。在Linux系统中,我们可以通过make命令来编译代码。Make命令在执行的时候,默认会在当前目录找到一个Makefile文件...

2020-03-31 16:01:46 1061

转载 Linux设备管理(一)_kobject, kset,ktype分析

Linux设备管理(一)_kobject, kset,ktype分析转载:https://www.cnblogs.com/xiaojiang1025/p/6193959.htmlLinux内核大量使用面向对象的设计思想,通过追踪源码,我们甚至可以使用面向对象语言常用的UML类图来分析Linux设备管理的"类"之间的关系。这里以4.8.5内核为例从kobject,kset,ktype的分析入...

2020-03-31 15:10:43 304

转载 板级文件中的struct resource结构体

板级文件中的struct resource结构体转载:https://blog.csdn.net/K_Linux_Man/article/details/7206358?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task展开linux对挂接...

2020-03-31 14:30:55 182

转载 Linux设备管理(三)_总线设备的挂接

Linux设备管理(三)_总线设备的挂接转载:https://www.cnblogs.com/xiaojiang1025/p/6201290.html扒完了字符设备,我们来看看平台总线设备,平台总线是Linux中的一种虚拟总线,我们知道,总线+设备+驱动是Linux驱动模型的三大组件,设计这样的模型就是将驱动代码和设备信息相分离,对于稍微复杂一点的驱动,都要使用这种结构,我在"Linux设...

2020-03-31 11:11:54 296

转载 Linux Platform驱动模型(二) _驱动方法

Linux Platform驱动模型(二) _驱动方法转载:https://www.cnblogs.com/xiaojiang1025/p/6367910.html在Linux设备树语法详解和Linux Platform驱动模型(一) _设备信息中我们讨论了设备信息的写法,本文主要讨论平台总线中另外一部分-驱动方法,将试图回答下面几个问题:如何填充platform_driver对象?...

2020-03-31 10:55:08 327

转载 Linux Platform驱动模型(一) _设备信息

Linux Platform驱动模型(一) _设备信息转载:https://www.cnblogs.com/xiaojiang1025/p/6367061.html我在Linux字符设备驱动框架一文中简单介绍了Linux字符设备编程模型,在那个模型中,只要应用程序open()了相应的设备文件,就可以使用ioctl通过驱动程序来控制我们的硬件,这种模型直观,但是从软件设计的角度看,却是一种十...

2020-03-31 10:53:06 223

转载 platform总线(一)

platform总线(一)转载:https://www.jianshu.com/p/4c3351ffcccb在linux2.6设备模型中,关心总线,设备,驱动这三个实体,总线将设备和驱动绑定,在系统每注册一个设备的时候,会寻找与之匹配的驱动。相反,在系统每注册一个驱动的时候,寻找与之匹配的设备,匹配是由总线来完成的。硬件资源用专门的模块维护,驱动用专门的模块维护,使用platfo...

2020-03-31 10:50:01 176

转载 从零开始之驱动发开、linux驱动(二十四、关于资源resource)

转载:https://blog.csdn.net/qq_16777851/article/details/82975057展开关于资源,在linux中有如下定义/** IO resources have these defined flags.*/#define IORESOURCE_BITS 0x000000ff /* Bus-specific bits ...

2020-03-31 10:15:34 1306

转载 linux内核中likely与unlikely ---mark 详细

前言  内核版本:linux 4.13  在linux内核中,经常可以看见if( likely(x))或if( unlikely(x))语句,那么likely和unlikely是什么意思呢?本文将对likely和unlikely进行一些讨论。likely和unlikely参考/include/linux/compiler.h */# define likely(x) __built...

2020-03-30 15:18:02 122

转载 高通Audio中ASOC的machine驱动(一) ---mark 详细条理

高通Audio中ASOC的machine驱动(一)转载原文:https://www.cnblogs.com/linhaostudy/p/8419231.html阅读目录1. 注册Platform driver: (1)、获取card的id: (2)、设置card的名字: (3)、设置codec的类型为external还是internal的: (4)、根据extern...

2020-03-30 11:31:53 952

转载 高通Audio中ASOC的codec驱动(二) ----mark 条例详细

高通Audio中ASOC的codec驱动(二)转载原文:https://www.cnblogs.com/linhaostudy/p/8425337.html阅读目录1、重要的数据结构: 2、Codec代码分析: 2.1 找到codec的代码: 3、查看codec的probe函数: 4、snd_soc_register_codec函数分析:正文继上一篇文章:高通A...

2020-03-30 11:05:19 782

转载 高通Audio中ASOC的codec驱动 -----mark

高通Audio中ASOC的codec驱动(二)原文:https://www.tinymind.net.cn/articles/8c917351355016继上一篇文章:高通Audio中ASOC的machine驱动(一)ASOC的出现是为了让codec独立于CPU,减少和CPU之间的耦合,这样同一个codec驱动就无需修改就可以匹配任何一款平台。在Machine中已经知道,snd...

2020-03-30 10:54:44 1153

转载 MIC灵敏度, MIC动态范围下限值估计, -3dB, dB加减

MIC灵敏度, MIC动态范围下限值估计, -3dB, dB加减mic 灵敏度灵敏度级与灵敏度已知灵敏度级求mic灵敏度,实现电压转声压MIC动态范围下限值-3dB-3dB带宽dB加减mic 灵敏度灵敏度级与灵敏度有的厂家给的mic灵敏度,有的给sensity level,归根到底,我们计算时需要的是灵敏度,再将数据V除以灵敏度V/Pa=Pa。当灵敏度=1V/Pa时,sens...

2020-03-28 15:39:08 1514

转载 android系统编译过程详解

android系统编译过程详解欢迎读原创:https://blog.csdn.net/huangxiaominglipeng/article/details/41745199第一部分:概述在研究Android编译系统之前,我们首先需要了解Linux系统的make命令。在Linux系统中,我们可以通过make命令来编译代码。Make命令在执行的时候,默认会在当前目录找到一个Makefil...

2020-03-28 11:51:03 552

原创 subsys_initcall

subsys_initcalllinux子系统的初始化_subsys_initcall():那些入口函数【转】https://blog.csdn.net/u010388659/article/details/81265010内核选项的解析完成之后,各个子系统的初始化即进入第二部分—入口函数的调用。通常USB、PCI这样的子系统都会有一个名为subsys_initcall的...

2020-03-07 11:25:27 2443

转载 Android.mk学习笔记

Android.mk学习笔记转载链接:https://blog.csdn.net/ucxiii/article/details/52097059LOCAL_PATH := $(call my-dir)这条语句出现在Android.mk最开始。由于我们将所有源码等文件都存在了当前目录或子目录,因此调用my-dir这个函数来告知编译器所编译的模块在mk所在当前目录下。LOCAL_MOD...

2020-03-07 10:42:40 411

原创 Android -- MediaPlayer内部实现简析 mark~ 巨详细!!!

Android -- MediaPlayer内部实现简析转载:https://www.cnblogs.com/zhchoutai/p/8715660.html在之前的博客中,已经介绍了使用MediaPlayer时要注意的内容。如今,这里就通过一个MediaPlayer代码实例,来进一步分析MediaPlayer内部是怎样运作、实现的;当然这里的分析仅仅截止究竟层调用播放器之前,由于播放器这...

2020-03-07 10:29:08 900

原创 linux defconfig、 .config 、kconfig 与makefile

linux defconfig、 .config 、kconfig 与makefile展开当驱动文件编写完成之后,需要将其编译进内核uimage或者编译模块(.ko),此时需要修改kconfig 和makefile文件。下面以博通平台为例,阐述下kconfig等文件的用途等,本人水平有限,如有错误之处,请不赐指正。介绍Kconfig makefile 等文件的文章很多,可以参考:点击打开链...

2020-03-04 21:51:03 654

原创 如何确定使用的kernel defconfig和dts配置文件 比较实用 新手福利

如何确定Dragonboard410c使用的kernel defconfig和dts配置文件展开各个平台内核defconfig配置文件一般都是在kernel/arch/arm64/configs/目录下,但往往这个目录下放了好几个项目的defconfig文件,那我们如何找到自己项目的对应defconfig文件呢?一般我们编译前都会输入下面两条命令:source build/envsetu...

2020-03-04 21:46:07 4094

原创 加载so异常总结:System.loadLibrary

加载so异常总结:System.loadLibrary程序引力关注2018.12.11 23:58:08字数 1,271阅读 2,402安卓开发中可能会遇到加载so的场景,但可能会遇到加载异常的情况。笔者对自己遇到的此类情况稍作总结。问题背景有一段网络请求的业务代码原本是在一个应用中的,为了实现复用,将这段业务代码封装成一个模块(module),然后编译成aar给另一个应...

2020-03-04 18:23:06 1057

原创 Android本地库命名空间

Android本地库命名空间SegmentFault博客2月 agoAndroid 7.0 推出了本地库的命名空间,其目的是限制内部 API 可见性,并解决应用在使用平台库时意外终止的问题。本地库命名空间的架构如下图所示,从架构上可以看出:系统库与应用库被分离开来,彼此不能交叉使用。 系统进程和应用都可以访问NDK库。 应用很可能使用与系统库同名的私有库,这种设计避免了应...

2020-03-04 18:21:58 567

原创 浅谈Android系统编译apk后so文件在dlopen时出现linker权限问题

浅谈Android系统编译apk后so文件在dlopen时出现linker权限问题展开文章目录一、概述二、问题描述三、具体分析四、解决方案在Android 9.0中的解决方案五、总结参考一、概述由于技术能力有限,本文的部分观点可能描述的并非准确,欢迎指正1在早期Android系统源码编译环境中,我们想要编译一个apk需要将java源码,资源文件等同时放在一个工程文件夹中,...

2020-03-04 12:29:14 2751 5

原创 加载so异常总结:System.loadLibrary

加载so异常总结:System.loadLibrary程序引力关注2018.12.11 23:58:08字数 1,271阅读 2,407安卓开发中可能会遇到加载so的场景,但可能会遇到加载异常的情况。笔者对自己遇到的此类情况稍作总结。问题背景有一段网络请求的业务代码原本是在一个应用中的,为了实现复用,将这段业务代码封装成一个模块(module),然后编译成aar给另一个应...

2020-03-04 12:00:30 2045

原创 Android 8.0 第三方so库链接出错解决方法

Android 8.0 第三方so库链接出错解决方法展开Android 8.0 第三方so库链接出错解决方法项目在从Android 6.0迁移到8.0的手机上时,突然报错java.lang.UnsatisfiedLinkError: dlopen failed: library "***.so" not found查了各种资料以后,发现由于Google对文件访问的安全性的提高所导致。解...

2020-03-04 11:56:31 917

空空如也

空空如也

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

TA关注的人

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