自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (1)
  • 收藏
  • 关注

转载 低功耗芯片间串行媒体总线SLIMbus

转自 http://blog.csdn.net/xiejinfeng850414/article/details/40685989低功耗芯片间串行媒体总线SLIMbusTM是基带或移动终端应用处理器与外设部件间的标准接口。SLIMbus规范是MIPI联盟成员共同开发的。MIPI是一个移动工业巨头联盟组织,旨在定义移动应用处理器接口开放标准或提升其现有标准。根据这些开放标准,通过为移动应

2016-09-29 18:49:05 4561

转载 SLIMBus

转自 https://en.wikipedia.org/wiki/SLIMbusSLIMbusFrom Wikipedia, the free encyclopedia[hide]This article has multiple issues. Please help improve it or discuss these

2016-09-29 18:45:00 967

转载 内核通知链原理及机制

一、概念:   大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子系统,Linux内核提供了通知链的机制。通知链表只能够在内核的子系统之间使用,而不能够在内核与用户空间之间进行事件的通知。通知链表是一个函数链表,链表上的每一个节点都注册了一个函数。当某个事情发生时,链表上所有节点对应的函数就会被执

2016-09-29 18:20:53 344

转载 函数 INIT_WORK() / schedule_work()

1. 初始化工作队列INIT_WORK();2. 调度工作队列 schedule_work();工作队列一般用来做滞后的工作,比如在中断里面要做很多事,但是比较耗时,这时就可以把耗时的工作放到工作队列。说白了就是系统延时调度的一个自定义函数。1、定义struct work_struct irq_queue;2、初始化INIT_WORK(&irq_qu

2016-09-29 16:50:02 9423

原创 函数 mutex_init() / mutex_lock() / mutex_unlock()

1. 初始化互斥体 -- mutex_init();2. 获得互斥体 -- mutex_lock();3. 释放互斥体 -- mutex_unlock();mutex不能使用在 中断的上下文 中。1. mutex_init(), 注意mutex使用之前都需要先init/** * mutex_init - initialize the mutex * @mut

2016-09-29 14:50:51 19205

转载 函数INIT_DELAYED_WORK() / queue_delayed_work()

转自 http://b8807053.pixnet.net/blog/post/292002646-%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8queue_delayed_work%E5%87%BD%E6%95%B81. delayed_workqueue主要用在需要延遲處理任務的驅動中,這些驅動的特性主要是不能使用中斷。delayed_workqueu

2016-09-29 13:50:35 1804

原创 Linux Driver教程PPT

国内外有很多大学的教学PPT都是公开,这一点十分有利于大家学习。下面的链接,是来自 旧金山大学(University of San Francisco)的计算机科学系(department of computer science)的教程,讲述Linux Driver,http://cs.usfca.edu/~cruse/cs635/Course Textbooks:

2016-09-29 11:47:23 1058

原创 函数INIT_DELAYED_WORK()/schedule_delayed_work() / cancel_delayed_work_sync()

Delay work 相关的函数1. 初始化delay work -- INIT_DELAYED_WORK()2. 调度delay work -- schedule_delayed_work()3. 取消delay work -- cancel_delayed_work_sync()1. 函数INIT_DELAYED_WORK()-- 初始化delay work并设置tim

2016-09-28 20:11:31 13794

转载 Linux workqueue工作原理

1. 什么是workqueue       Linux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workqueue是内核中实现简单而有效的机制,他显然简化了内核daemon的创建,方便了用户的编程.      工作队列(workqueue)是另外一种将

2016-09-28 19:35:02 327

原创 函数dev_get_drvdata()

函数dev_get_drvdata(), 是用来返回driver的私有数据的,其函数实现如下。另外,与之相对应的保存driver的私有数据的函数是dev_set_drvdata()。void *dev_get_drvdata(const struct device *dev){ if (dev && dev->p) return dev->p->driver_data; re

2016-09-28 18:40:02 3645

原创 函数 platform_set_drvdata()

Probe函数中定义的私有数据,是如何保存起来的呢?方法之一就是呼叫 函数platform_set_drvdata().下面看一下函数platform_set_drvdata()的实现,static inline void platform_set_drvdata(struct platform_device *pdev, void *data){ dev_set

2016-09-28 18:17:14 5531

原创 函数 devm_kzalloc()

函数 devm_kzalloc() 和kzalloc()一样都是内核内存分配函数,但是devm_kzalloc()是跟设备(device)有关的,当设备(device)被detached或者驱动(driver)卸载(unloaded)时,内存会被自动释放。另外,当内存不在使用时,可以使用函数devm_kfree()释放。而kzalloc()则需要手动释放(使用kfree()),但如果工程师检查

2016-09-28 16:52:46 19296

原创 函数module_platform_driver()

函数 module_platform_driver(xxx);该函数定义在include/linux/platform_device.h文件中: #define module_platform_driver(__platform_driver) \         module_driver(__platform_driver, platform_driver_register,

2016-09-28 15:05:59 7569

转载 Android进程间通信(IPC)机制Binder简要介绍和学习计划

在Android系统中,每一个应用程序都是由一些Activity和Service组成的,这些Activity和Service有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的Activity或者Service是如何通信的呢?这就是本文中要介绍的Binder进程间通信机制了。        我们知道,Android系统是基于Linux内核的,而Linux内核继承和兼容了

2016-09-26 14:49:10 280

原创 ALSA优秀文章链接

ALSA优秀文章链接,放在360doc,不好复制,所以仅把链接记住,以供未来参考,1. Linux ALSA系统架构以高通WM8976为例,描述了alsa驱动注册/打开流程/写数据流程,图文并茂,十分详细http://www.360doc.com/content/12/0731/17/10388890_227508444.shtml2. ALSA编程入门篇讲

2016-09-23 20:13:50 467

转载 PCM / I2S / AC97简介

转自:http://blog.csdn.net/liuxd3000/article/details/41078859IIS仅仅是PCM的一个分支,接口定义都是一样的IIS的采样频率一般为44.1KHZ和48KHZ做PCM采样频率一般为8K,16K。它们有四组信号: 位时钟信号,同步信号,数据输入,数据输出。     PCM一般传单声道的声

2016-09-23 20:03:13 1648

转载 Android启动流程

原文:http://blog.csdn.net/qianjin0703/article/details/8468312 Android启动流程1. init进程2. zygote进程2.1 AndroidRuntime2.2 ZygoteInit3. system_server进程3.1 init1阶段3.2 init2阶段接着L

2016-09-23 19:55:46 304

转载 android音频系统

android音频系统  转:http://blog.csdn.net/qianjin0703/article/details/63876620. 专用术语1. 物理结构2. 系统架构本文基于Freescale IMX平台Codec ALC5625为例。0. 专用术语ASLA - Advanced Sound Linux Architecture

2016-09-23 19:52:58 561

原创 I2S音频总线学习(四)I2S接口设计

原文:http://blog.csdn.net/ce123/article/details/6923528I2S音频总线学习(四)I2S接口设计一、数据发送端的设计图1 发送端           随着WS信号的改变,导出一个WSP脉冲信号,进入并行移位寄存器装入DATA LEFT或DATA RIGHT,从而输出数据被激活。串行数据在时钟下降沿移出。

2016-09-23 19:45:52 1134

原创 I2S音频总线学习(三)S3C2440的I2S控制器

原文:http://blog.csdn.net/ce123/article/details/6920019I2S音频总线学习(三)S3C2440的I2S控制器一、I2S控制器结构框图                         S3C2440A的Inter-IC Sound (IIS)总线接口作为一个编解码接口连接外部8/16位立体声音频解码IC用于迷你碟机和可

2016-09-23 19:42:26 632

转载 I2S音频总线学习(二)I2S总线协议

原文:http://blog.csdn.net/ce123/article/details/6919954I2S音频总线学习(二)I2S总线协议一、I2S总线概述        音响数据的采集、处理和传输是多媒体技术的重要组成部分。众多的数字音频系统已经进入消费市场,例如数字音频录音带、数字声音处理器。对于设备和生产厂家来说,标准化的信息传输结构可以提高系统的适应性。I2S

2016-09-23 19:38:44 1124

转载 I2S音频总线学习(一)数字音频技术

原文:http://blog.csdn.net/ce123/article/details/6919862IIS音频总线学习(一)数字音频技术一、声音的基本概念    声音是通过一定介质传播的连续的波。图1 声波重要指标:振幅:音量的大小周期:重复出现的时间间隔频率:指信号每秒钟变化的次数声音按频率分类:图

2016-09-23 19:37:44 720

转载 AC 97

原文:http://baike.baidu.com/link?url=5dcPq7XZ1vuWp4v4UZ5O2ipl0cdu7UUYh8uT_v391L1D8RaCO6UVAoG38nZnQtse6iEsa-IJKLAdCuOVAMpV18NhFjXsTfcTuIPq6tqWN58GBV6ngrRfU5kerLa2gAQExW3gS5VDIOTNxusn0AX8UK自从威盛(VIA)

2016-09-23 19:28:00 627

转载 音频标准AC97和IIS

原文:http://blog.csdn.net/zqh6516336520/article/details/38226333音频标准主要有两个AC97和IIS,下面我把这两个标准贴出来:     一           I2s标准 在飞利浦公司的I2S标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。I2S有3个主要信号:1.串行时钟SCLK,也叫位时钟(BCL

2016-09-23 19:26:37 553

转载 Linux ALSA声卡驱动之四:Control设备的创建

声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!Control接口Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于Mixer(混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过control接口

2016-09-23 19:20:28 270

转载 alsa和oss声音系统比较

OSS(Open Sound System)OSS的含义为,Open Sound System,是unix平台上一个统一的音频接口。以前,每个Unix厂商都会提供一个自己专有的API,用来处理音频。这就意味着为一种Unix平台 编写的音频处理应用程序,在移植到另外一种Unix平台上时,必须要重写。不仅如此,在一种平台上具备的功能,可能在另外一个平台上无法实现。但 是,OSS出现以后情况就大不一

2016-09-22 16:43:43 1281

转载 Linux ALSA声卡驱动之三:PCM设备的创建

声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!1. PCM是什么PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样

2016-09-22 15:32:38 317

转载 为什么我不推荐大家去外包公司

原文地址:http://www.nowamagic.net/librarys/veda/detail/597其实大家每天心里都像明镜一样的明白“低技术含量的外包没有前途”,好多人都认为外包没有技术,其实这种思想不对,国外有大量的高端技术外包业务等着我们干,但是反问一句“你们能干吗?”,现在大部分的公司都是平均每个项目开发4个月,干完就再转一个组再做别的项目,从Java .NET C C

2016-09-22 13:58:13 601

原创 算法试题收集

一些面试试题收集,1. C语言指针类考察;2. memmove()实现,并且实现override问题(重点:override的部分先copy).3. 一个Char类型的数字里,包含多少个bit 1;4. 如何辨别 大端/小端;5. 一个interger类型数字,如何将它从大端 转化为 小端类型;6. 排序类问题,比较适合采用bitmap方式排序(参考 “编程珠玑”第

2016-09-21 20:43:19 274

原创 使用tinymix进行Acostic测试

Audio chip使用的是WCD9335,使用tinymix进行Acostic测试。下面列出部分命令组合, 关于如何切换codec path,可以参考自己codec的xml档案,android/device/symbol/falcon/mixer_paths_wcd9335.xml1-DMIC1_HeadsetSPK_start) tinymix 'ADC MUX7' 'DMI

2016-09-21 20:27:44 1904

原创 Qualcomm Audio Driver Code Structure

目前开发的产品,用的是Qualcomm 的Audio chip WCD9335,ODM相关的主要代码如下1. 驱动代码放在如下位置, 里面包含audio path切换的"audio_map"表格,android/kernel/sound/soc/codecs/wcd9335.c2. 下面的xml包含codec切换path的配置,如下面配有切换至speaker所需要的

2016-09-21 19:30:17 5241

翻译 Android Audio架构

下面是来自Android官方的Audio架构图,比较清楚地说明了android中audio的组成。出处:https://source.android.com/devices/audio/index.htmlAudioAndroid's audio Hardware Abstraction Layer (HAL) connects the higher

2016-09-21 17:08:47 1034

转载 emmc field firmware update

原文:http://www.lai18.com/content/7875114.html问题:hynix emmc H9TQ17ABJTMCUR固件需要从V3升级到V7,以解决低概死机重启问题FFU方案思路:LK阶段EMMC host & card初始化后,进入emmc FFU mode升级V7固件。由于firmware大小为512KB,而LK patt

2016-09-21 16:30:06 2152

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

原文:http://blog.csdn.net/kangear/article/details/38139669由于Android中默认并没有使用标准alsa,而是使用的是tinyalsa,所以就算基于命令行的测试也要使用libtinyalsa。Android系统在上层Audio千变万化的时候,可以能这些个工具实时查看到,比如音频通道的切换等等. 1.编译tinya

2016-09-21 15:37:37 625

转载 Android底层开发之耳机插拔与音频通道切换实例

原文:http://blog.csdn.net/kangear/article/details/40045743Android底层开发之耳机插拔与音频通道切换实例       由于使用的是耳机 麦克分离式的耳机,所以要分别上报事件。在Android系统层耳机插孔的检测是基于/sys/class/switch/h2w/state的值来判断的(以4.4.4_r2为例子位于W

2016-09-21 15:32:37 2719

转载 Android中ANR的产生原因和解决办法

在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:ApplicationNotResponding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。所以一个流畅的合理的应用程序中不能出现anr,而让用户每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样系统不会显示ANR给用户。 默认情况下,在android中Activity的最长执行时间是5秒,BroadcastReceiver的

2016-09-21 14:47:50 488

转载 为啥Android手机总会越用越慢?

引用:http://blog.csdn.net/xdwyyan/article/details/40789859根据第三方的调研数据显示,有77%的Android手机用户承认自己曾遭遇过手机变慢的影响,百度搜索“Android+卡慢”,也有超过460万条结果。在业内,Android手机一直有着“越用越慢”的口碑,这个现象甚至超出了硬件范畴——很多中高端Android手机在硬件参

2016-09-21 14:37:17 352

原创 我们的潜力远远超过我们的想象

创业挺像长距离越野,前路未知,环境多变,学会享受过程,耐得住面对一望无际旷野的孤寂,我们的潜力远远超过我们的想象,把自己逼到绝路时,另一片天自然会打开。欧普照明股份有限公司创始人之一、董事长 王耀海

2016-09-20 15:58:40 318

转载 手机降噪麦克风为啥要设计在顶部?

降噪麦克风设计在顶部和背部有区别吗,为什么会有这样的设计?各大厂商的降噪技术有何不同?其实没有什么本质的区别,只是设计的问题,你可以发现,即便是将降噪麦克设计在背部,也一般都在背部的顶端,这是为了防止你在打电话的时候不小心用手挡住了麦克风。之所以会设计在话筒相反的方向,可以从原理上理解。降噪的原理简单理解,就是降噪麦克会同主麦克风同时工作,降噪麦克在另一方会接收噪音,和你真正对话的麦克风传输的声音做对比,得到重合的部分就是噪音,然后通过技术处理去掉这部分,最后成功传输的就是你说话的声音。这样就可以很好

2016-09-20 14:52:38 2472

转载 浅谈程序猿的职业规划

程序猿,是技术相关的职业生涯一个不错的开始,不论你以后是要做CTO还是总监等等,只要你还做着技术大家庭中的一员,那现在的技术沉淀,都将是你未来的基石。我们并不需要急于确定自己以后的路线,因为你的能力或者是认识或许还不足以选择。  在你做程序猿的日子里,你需要做的,就是干好手下的工作以及不断的学习。这之中还有一个更重要的任务,那就是认识自己。  当你开始认识自己的时候,就是职业规划的开始。对于任何一个人来说,只有不断的认清自己,你才知道你的路在何方,你才知道你是为何而生。天生我材必有用是没错,但是怕就怕你

2016-09-19 19:19:12 422

remote_power_off.py

目标:使用Python远程控制Linux电脑的关机 使用Python远程控制Linux电脑的关机,示例代码如附件,执行命令“python3 remote_power_off.py”,被控制电脑将执行关机动作。 使用前,请修改被控制电脑的如下信息,本程序仅支持局域网使用。 host = '192.168.3.6' user = 'test01' password = '********' 系统配置需求: 1。需要安装SSH Client/Server tool,Ubuntu安装命令如下 $ sudo apt-get install openssh-client $ sudo apt-get install openssh-server 2。 启动SSH Server,命令如下, $ sudo /etc/init.d/ssh start 3。控制主机需要安装Python (推荐Python3.5版本以上),并安装Python包“paramiko”, 安装命令如下, $ pip3 install paramiko 4。控制主机与被控制机器在同一局域网内

2019-07-24

空空如也

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

TA关注的人

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