Android驱动开发
eilianlau
这个作者很懒,什么都没留下…
展开
-
s3c6410_LCD & frame buffer 驱动分析(一)
s3c6410_LCD & frame buffer 驱动分析static struct platform_driver s3cfb_driver = { .probe = s3cfb_probe, .remove = s3cfb_remove, .suspend = s3cfb_suspend, .resume原创 2011-11-21 13:53:17 · 4320 阅读 · 0 评论 -
基于Linux的v4l2视频架构驱动编写(三)
基于Linux的v4l2视频架构驱动编写,控制命令VIDIOC_QUERYBUF,功能: 查询已经分配的V4L2的视频缓冲区的相关信息,包括视频缓冲区的使用状态、在内核空间的偏移地址、缓冲区长度等。在应用程序设计中通过调VIDIOC_QUERYBUF来获取内核空间的视频缓冲区信息5. 控制命令VIDIOC_QUERYBUF功能: 查询已经分配的V4L2的视频缓冲区的相关信息,包括视频缓转载 2011-12-24 13:46:29 · 2798 阅读 · 2 评论 -
FS_S5PC100平台上Linux Camera驱动开发详解(二)
FS_S5PC100平台上Linux Camera驱动开发详解(二)作者:刘洪涛,华清远见嵌入式学院讲师。4-3 摄像头的初始化流程及v4l2子设备驱动这个问题弄清楚了以后下面就来看获得Camera信息以后如何做后续的处理:在fimc_init_global调用结束之后我们获得了OV9650的信息,之后在probe函数里面就会继续调用一个函数:fimc_configure_subd转载 2011-12-24 15:14:23 · 1822 阅读 · 0 评论 -
ANDROID音频系统散记之二:resample-1
Android上的resample处理默认的情况下,Android放音的采样率固定为44.1khz,录音的采样率固定为8khz,因此底层的音频设备驱动只需设置好这两个固定的采样率。如果上层传过来的采样率与其不符的话,则Android Framework层会对音频流做resample(重采样)处理。Resample的大致流程如下: AudioResample作为最基本的类转载 2012-01-07 22:31:28 · 1626 阅读 · 2 评论 -
android+WM9714(AC97)调试
s3c6410平台,codec为WM9714(驱动可使用WM9713的),使用ALSA,android版本1.5. MID上移植android以来一直没有声音。 首先确认AC97的硬件连接,AC-LINK通讯是否正常,这里使用到wince中的init寄存器组,在sound/soc/codecs/wm9713.c中替换static const u16 wm9713_reg[]相应的寄存器转载 2012-01-08 00:29:49 · 1979 阅读 · 0 评论 -
ANDROID音频系统散记之一:A2dpAudioInterface
写在之前本来有打算写写Android音频系统的,但是仔细研究了如下链接的三篇文章,果断中断了我的想法。毫不夸张来说,这是我看过的最好的阐述Android音频系统的文章了,简练精辟,将音频系统各个方面的重要的脉络都描述出来了。有这三篇文章,理解Android音频系统何止加快了10倍。Android Audio System 之一:AudioTrack如何与AudioFlinger交换音频数据转载 2012-01-07 22:28:46 · 3249 阅读 · 0 评论 -
ANDROID音频系统散记之三:resample-2
这篇是承接上一篇提到的底层resample处理,以Samsung的mini alsa-lib为例说明。mini alsa-lib这个mini alsa-lib位于android2.3.1-gingerbread/device/samsung/crespo/libaudio中。如之前所说alsa-lib实现了太多plugin的功能,显得复杂臃肿。因此我建议如果想了解alsa在上层调用转载 2012-01-07 22:32:20 · 1857 阅读 · 0 评论 -
ALSA的ioctl - hwdep
hwdep模块简述字符设备驱动中,ioctl是一个很常见的IO设备操作函数,可以自定义cmd命令字并实现对应的设备IO控制。音频设备的控制有所不同:驱动层大部分控制操作定义各种snd_kcontrol_new,然后注册到SNDRV_DEV_CONTROL模块中(sound\core\control.c),详见snd_kcontrol探究;而上层调用alsa-lib的snd_ctl_转载 2012-01-07 22:33:11 · 1317 阅读 · 0 评论 -
关于ALSA的小结
这一年来的一个重要工作是音频设备驱动方面,如驱动开发、调试debug、性能调优、音频路由、回声消除等。除此之外,熟悉了一下alsa-lib接口,Android音频系统,包括设备抽象层和音频策略。遗憾的是一直没有什么机会接触蓝牙设备的集成和开发,可预知的未来无线设备会极大地普及。还有就是ffmpeg,以前经常用它来做一些兴致突来能力而及的小工具,年初时计划进一步在它的基础上学习H264或转载 2012-01-07 22:34:17 · 1763 阅读 · 1 评论 -
基于V4L2的视频驱动开发(二)
2010-09-19 11:31 4683人阅读 评论(8) 收藏 举报 基于V4L2的视频驱动开发(2) 华清远见 刘洪涛三、 V4L2 API及数转载 2011-12-24 15:11:01 · 1409 阅读 · 0 评论 -
FS_S5PC100平台上Linux Camera驱动开发详解(一)
FS_S5PC100平台上Linux Camera驱动开发详解(一)作者:刘洪涛,华清远见嵌入式学院讲师。说明: 理解摄像头驱动需要四个前提: 1)摄像头基本的工作原理和S5PC100集成的Camera控制器的工作原理 2)platform_device和platform_driver工作原理 3)Linux内核V4L转载 2011-12-24 15:13:15 · 1796 阅读 · 0 评论 -
curl: (6) Couldn't resolve host 'android.git.kernel.org'
$ curl https://android.git.kernel.org/repo > ~/bin/repocurl: (6) Couldn't resolve host 'android.git.kernel.org'原因是因为android.git.kernel.org网站被黑了,所以无法从该网站下载repo和android源代码了。因此我们只能想办法从其他地方下载了.我转载 2011-12-22 14:44:20 · 3761 阅读 · 1 评论 -
s3c6410_LCD & frame buffer 驱动分析(三)
帧缓冲设备的参数设置和gpio配置#include #include #include #include #include #include #include "s3cfb.h"#define S3CFB_HFP 2 /* front porch */#define S3CFB_HSW 41 /* hsync width原创 2011-12-17 12:20:48 · 2402 阅读 · 1 评论 -
Android中Input型输入设备驱动原理分析(一)
话说Android中Event输入设备驱动原理分析还不如说Linux输入子系统呢,反正这个是没变的,在android的底层开发中对于Linux的基本驱动程序设计还是没变的,当然Android底层机制也增加几个属于android自己的机制。典型的IPCAndroid中的input设备驱动主要包括:游戏杆(joystick)、鼠标(mouse)和事件设备(Event)。1、Input输入子原创 2011-11-14 17:07:29 · 9027 阅读 · 2 评论 -
s3c6410_LCD & frame buffer 驱动分析(二)
/* *初始化LCD控制寄存器 */int s3cfb_init_registers(s3cfb_info_t *fbi){ struct clk *lcd_clock; struct fb_var_screeninfo *var = &fbi->fb.var; unsigned long flags = 0, page_width = 0, offs原创 2011-11-22 00:59:51 · 3262 阅读 · 0 评论 -
Android中Input型输入设备驱动原理分析(二)
驱动层只是把输入设备注册到输入子系统中,驱动层的代码本身是没有创建设备节点的,而是由EventHander层调用InputCore中的函数来实现,当某个事件触发时都将通过input _event()来将input event传送到input.c中,再由input.c分配事件到每一个"input handler"2)input _event()是怎么实现的void input_event(s原创 2011-12-22 16:17:32 · 2171 阅读 · 0 评论 -
基于Linux的v4l2视频架构驱动编写(一)
其实,我刚开始一直都不知道怎么写驱动,什么都不懂的,只知道我需要在做项目的过程中学习,所以,我就自己找了一个关于编写Linux下的视频采集监控项目做,然后上学期刚开学的时候听师兄说,跟院长做项目,没做出来也没关系,所以直接退出博士的团队,投靠了院长的门下,呵呵,说到这里其实并不是我太见风使驼了,而是····老是让我做单片机的东东,我嫌没意思,他也知道我一开始就要学嵌入式,所以,最后,我想了一下,既转载 2011-12-24 13:44:09 · 1534 阅读 · 0 评论 -
基于Linux的v4l2视频架构驱动编写(二)
于Linux的v4l2视频架构驱动编写,控制命令VIDIOC_S_FMT //直接告诉你,s是set的意思,功能: 设置视频设备的视频数据格式,例如设置视频图像数据的长、宽3. 控制命令VIDIOC_S_FMT //直接告诉你,s是set的意思功能: 设置视频设备的视频数据格式,例如设置视频图像数据的长、宽,图像格式(JPEG、YUYV格式);参数说明:参数类型为V4L2的视频转载 2011-12-24 13:45:23 · 1504 阅读 · 0 评论 -
基于V4L2的视频驱动开发(一)
基于V4L2的视频驱动开发(1) 华清远见 刘洪涛编写基于V4L2视频驱动主要涉及到以下几个知识点:l转载 2011-12-24 15:09:35 · 1671 阅读 · 0 评论 -
ANDROID音频系统散记之四:4.0音频系统HAL初探
昨天(2011-11-15)发布了Android4.0的源码,今天download下来,开始挺进4.0时代。简单看了一下,发现音频系统方面与2.3的有较多地方不同,下面逐一描述。一、代码模块位置1、AudioFlingerview plainprint?frameworks/base/services/audioflinger/ +转载 2012-01-07 22:35:10 · 3785 阅读 · 1 评论