自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

android之旅

蜗牛式进步

  • 博客(74)
  • 收藏
  • 关注

转载 Linux内核中的GPIO系统之(3):pin controller driver代码分析

Linux内核中的GPIO系统之(3):pin controller driver代码分析作者:linuxer 发布于:2014-7-22 20:37 分类:GPIO子系统一、前言对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pin control subsystem也不例外,被它驱动的硬件叫做pin controller(一般ARM soc的datasheet

2015-12-29 11:58:26 842

转载 linux内核中的GPIO系统之(2):pin control subsystem

linux内核中的GPIO系统之(2):pin control subsystem作者:linuxer 发布于:2014-7-26 18:24 分类:GPIO子系统一、前言在linux2.6内核上工作的嵌入式软件工程师在pin control上都会遇到这样的状况:(1)启动一个新的项目后,需要根据硬件平台的设定进行pin control相关的编码。例如:在bootl

2015-12-29 11:57:24 614

转载 linux内核中的GPIO系统之(1):软件框架

linux内核中的GPIO系统之(1):软件框架作者:linuxer 发布于:2014-7-21 14:40 分类:GPIO子系统一、前言作为一个工作多年的系统工程师,免不了做两件事情:培训新员工和给新员工分配任务。对于那些刚刚从学校出来的学生,一般在开始的时候总是分配一些非常简单的任务,例如GPIO driver、LED driver。往往CPU datasheet的关于

2015-12-29 11:56:15 520

转载 Linux设备模型之input子系统详解

本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/------------------------------------------一:前言在键盘驱动代码分析的笔记中,接触到了input子系统.键盘驱动,键盘驱动将检测到的所有按键都上报给了input子系统。Input子系统是所有I/O设备驱动的中间层,为上层提供了一个统一的界面。例如,

2014-03-12 21:21:09 485

转载 android测试之getevent/sendevent

http://source.android.com/devices/tech/input/index.html关于在android平台上捕获事件的资料互联网上已经铺天盖地,但个人觉得可用性都不太大,大部仅 针对特定设备,而对于其他设备引导性不强,故整理处本文,望对初学者有个有力的帮助: getevent 旨在获取android设备的事件信息,具体参考详细用法(本

2014-03-12 20:27:34 613

转载 Linux Input子系统第二篇之A/B(Slot)协议

将A/B协议这部分单独拿出来说一方面是因为这部分内容是比较容易忽视的,周围大多数用到input子系统的开发人员也不甚理解;另一方面是由于这部分知识一旦扩展到TP(触摸屏Touch Panel)的多点触摸就要与Middleware/Framework一起结合起来看才能完全掌握,复杂性所在。这里的Middleware/Framework是针对android来说的,本人从事android这几个层次的工作

2014-03-12 16:03:33 569

转载 Linux Input子系统之第一篇(input_dev/input_handle/input_handler)

Input子系统是linux kernel中与部分外围器件驱动联系比较紧密的模块,常用于Sensor,TP(touch panel),power key等器件的驱动。这类模块有个共同特点:字符设备,且数据量都不大,比如sensor一般最多只有xyz三个维度的数据。      整体来看,Input子系统有一个主线,那就是题目中这三个结构体的关系(下面简称为三方关系),input_dev对应于实际

2014-03-12 16:02:50 621

转载 Linux输入子系统:多点触控协议 -- multi-touch-protocol.txt

Multi-touch (MT) Protocol-------------------------         Copyright(C) 2009-2010 Henrik Rydberg 简介------------    为了发挥新近的多点触摸和多用户设备的强大功能,为多点触摸定义一种上报详细数据的方法(比如有多个物体直接接触到设备的表面),是非常有

2014-03-10 15:02:39 728

转载 Android休眠唤醒驱动流程分析(四)

关于wake_lock在上文中,已经介绍了wakelock机制,下面从代码的角度进行介绍。wakelock有2种类型,常用为WAKE_LOCK_SUSPEND,作用是防止系统进入睡眠。WAKE_LOCK_IDLE这种锁不会影响到系统进入休眠,但是如果这种锁被持有,那么系统将无法进入idle空闲模式。enum {WAKE_LOCK_SUSPEND, W

2014-02-22 16:30:49 561

转载 Android休眠唤醒驱动流程分析(三)

static int suspend_enter(suspend_state_t state){int error = 0; device_pm_lock();#ifdef CONFIG_CPU_FREQcpufreq_get_cpufreq_name(0);strcpy(governor_name, cpufreq_governor_nam

2014-02-22 16:30:12 556

转载 Android休眠唤醒驱动流程分析(二)

在suspend_freeze_processes()函数中调用了freeze_processes()函数,而freeze_processes()函数中又调用了try_to_freeze_tasks()来完成冻结任务。在冻结过程中,会判断当前进程是否有wake_lock,若有,则冻结失败,函数会放弃冻结。static int try_to_freeze_tasks(bool sig_onl

2014-02-22 16:29:37 512

转载 Android休眠唤醒驱动流程分析(一)

****************************************************作者:Sean日期:2012-11-29修改历史:****************************************************标准linux休眠过程:l power management notifiers 

2014-02-22 16:28:24 641

转载 Android休眠唤醒机制简介(二)

******************************************************************作者:sean日期:2012-11-29修改历史:******************************************************************接上一节,结合code来分析一下:

2014-02-22 16:27:15 547

转载 Android休眠唤醒机制简介(一)

*************************************************************************作者:sean日期:2012-11-29修改历史:***************************************************************************1、背景介绍:

2014-02-22 16:26:34 761

转载 Android 背光流程小结

android背光控制小结,从上到下: ----android---- DisplayPowerController.java--> DisplayPowerState.java:SCREEN_BRIGHTNESS-->setScreenBrightness-->scheduleScreenUpdate-->postScreenUpdateThreadSafe-->mScreenUpd

2014-01-16 14:13:45 1019

转载 Android屏幕、键盘背光Framework和Linux led_classdev

应用设计1.1 设置进度条范围背光设置是在:设置->声音和显示->亮度,通过进度条来设置的。文件:packages/apps/Settings/src/com/android/settings/BrightnessPreference.javaprivate static final int MINIMUM_BACKLIGHT = android.os.Power.BRIG

2014-01-13 14:36:11 952

转载 基于MTK平台kpd驱动初步分析

一、kpd_pdrv_probe函数的分析:   /*1. 输入设备实例  kpd_input_dev */  全局变量:static struct input_dev *kpd_input_dev;        static int kpd_pdrv_probe(struct platform_device *pdev)  {      int i, r;     

2014-01-07 16:37:05 4753

转载 Linux Input子系统之TP——A/B(Slot)协议

将A/B协议这部分单独拿出来说一方面是因为这部分内容是比较容易忽视的,周围大多数用到input子系统的开发人员也不甚理解;另一方面是由于这部分知识一旦扩展到TP(触摸屏Touch Panel)的多点触摸就要与Middleware/Framework一起结合起来看才能完全掌握,复杂性所在。这里的Middleware/Framework是针对android来说的,本人从事android这几个层次的工作

2014-01-06 15:01:13 999 1

转载 Android核心分析(23)-----Andoird GDI之基本原理及其总体框架 .

Android GDI基本框架    在Android中所涉及的概念和代码最多,最繁杂的就是GDI相关的代码了。但是本质从抽象上来讲,这么多的代码和框架就干了一件事情:对显示缓冲区的操作和管理。    GDI主要管理图形图像的输出,从整体方向上来看,GDI可以被认为是一个物理屏幕使用的管理器。因为在实际的产品中,我们需要在物理屏幕上输出不同的窗口,而每个窗口认为自己独占屏幕的使用,对所有窗

2013-01-27 23:20:48 386

转载 android surfaceflinger研究----显示系统.

这周抽空研究了一下SurfaceFlinger,发现真正复杂的并不是SurfaceFlinger本身,而是android的display显示系统,网上关于这部分的介绍有不少,本不打算写的,但是发现还是记录一下研究代码的过程比较好,一是能够帮助自己理清思路,另一个原因就是以后当这块内容忘记的时候,能快速的通过这个记录捡起来。    一.  android显示系统的建立    我们看Sur

2013-01-27 22:45:09 547

转载 Android SurfaceFlinger中的SharedClient -- 客户端(Surface)和服务端(Layer)之间的显示缓冲区管理 .

SurfaceFlinger在系统启动阶段作为系统服务被加载。应用程序中的每个窗口,对应本地代码中的Surface,而Surface又对应于SurfaceFlinger中的各个Layer,SurfaceFlinger的主要作用是为这些Layer申请内存,根据应用程序的请求管理这些Layer显示、隐藏、重画等操作,最终由SurfaceFlinger把所有的Layer组合到一起,显示到显示器上。当一个

2013-01-27 22:44:01 381

转载 surfaceflinger 代码追踪 .

一、          surfaceflinger server如何启动: 1、 【System_init.cpp】extern "C" status_t system_init(){       ……..    char propBuf[PROPERTY_VALUE_MAX];    property_get("system_init.startsurfacef

2013-01-27 21:31:32 496

转载 Linux UDP下C语言实现TFTP协议客户端 .

因课程实验要求,需要使用C语言在Linux下实现TFTP协议的客户端用于文件传输。TFTP,即Trivial File Transfer Protocol,有点类似于FTP协议不过要比FTP简单许多,功能也自然没FTP那么全。       根据实验要求,客户端在与服务端传输文件的时候需要同时实现上传和下载功能,具体的功能由传输命令决定,如[cpp] view plain

2013-01-27 20:21:15 1646

转载 LCD设备驱动程序1 .

一、Framebuffer 的概述1,FrameBuffer的概念(1)FrameBuffer是显卡硬件的抽象    帧缓冲(framebuffer)是Linux 系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。用户不必关心物理显示缓冲区的具体位置及存放方式,这些都由帧缓冲设备驱动本身来完成。

2013-01-23 22:08:10 530

转载 LCD 调试总结

(1) 液晶显示模式        并行:MCU接口、RGB接口、Vysnc接口        串行:SPI接口、MDDI接口(2) 屏幕颜色        实质上即为色阶的概念。色阶是表示手机液晶显示屏亮度强弱的指数标准,也就是通常所说的色彩指数。目前彩屏手机的色阶指数从低到高可分三个层次,最低单色,其次是256色、4096色、 65536色;目前最高的为26万色。256=2的8

2013-01-23 21:14:12 805

转载 Android SurfaceFlinger原理详解 .

SurfaceFlinger是Android multimedia的一个部分,在Android 的实现中它是一个service,提供系统范围内的surface composer功能,它能够将各种应用程序的2D、3D surface进行组合。在具体讲SurfaceFlinger之前,我们先来看一下有关显示方面的一些基础知识。1 、原理 分析 让我们首先看一下下面的屏幕简略图:

2013-01-22 22:42:10 943

转载 Android display架构分析-SW架构分析(1-4) .

Android display架构分析-SW架构一、Overview上图的原型取自高通的文档,由于原图无法描述现有的架构,我在原图的基础了做了些修改,主要是增加了overlay部分,另外其他部分根据现有的软件也做了些许改动。下面先对上图做个大概的介绍,后面会针对重点部分做详细的分析。最上面一层为应用程序,根据数据类型以及应用的不同可以分为几种。第一种是最普通的应用,如U

2013-01-22 22:34:53 1113

转载 i2c驱动之难点释疑 .

一、关于匹配i2c_client->dev和i2c_driver->driver的总线类型都是i2c_bus_type。 i2c_adapter->dev的总线类型并不是i2c_bus_type。在注册后设备与驱动匹配,是i2c_client->dev和i2c_driver->driver的匹配。i2c_client的建立都是依赖于 "new style" driversi2c_d

2013-01-21 22:44:38 586

转载 我对linux理解之i2c .

i2c设备是非常普遍的一种设备,我们现在开始i2c子系统的分析。我们先从注册开始:static const struct i2c_device_id IT7260_ts_id[] = {     { IT7260_I2C_NAME, 0 },    { }     };static struct i2c_driver IT7260_ts_driver = {     .

2013-01-21 22:43:02 440

转载 linux debugfs使用分享 软件查看gpio状态 .

在调试中加入debugfs有时可以起到事半功倍的效果: adb shell#mkdir /data/debug#mount -t debugfs debugfs /data/debug#cd /data/debug  查看gpio状态root@android:/data/debugfs # cat gpioGPIOs 0-15: gpio-0   (fr

2013-01-21 22:21:58 542

转载 PM 底电流调试工作总结 .

高通7x27a平台目前遇到几个底电流调试问题,发表以下见解  1:首先个人在调试不睡眠中遇见2次由于串口睡眠模式配置不对导致系统无法睡眠的问题,要是串口连接其他模块比如BT和modem,我们在sleep模式不可以配置成普通gpio功能,这样很容易导致睡眠时无法与设备通讯导致无法睡眠,modem有radio lock 。  2:在系统可以睡下,底电流在20mA以下但是大于2mA的情况下,很可

2013-01-21 22:20:41 551

转载 差分信号的理解(MIPI) .

差分信号(Differential Signal)      转自EDN,对差分信号理解得比较的文章,供大家参考      差分信号(Differential Signal)在高速电路设计中的应用越来越广泛,电路中最关键的信号往往都要采用差分结构设计,什么另它这么倍受青睐呢?在 PCB 设计中又如何能保证其良好的性能呢?      带着这两个问题,我们进行下一部分的讨论。 何为差分信号

2013-01-21 21:57:54 3003

转载 Android中休眠与唤醒之wake_lock, early_suspend, late_resume .

最近研究如何让Android不休眠。听组里人说,机器在充电的时候不休眠。我试了一下,确实是,串口可以使用(CONFIG_PM_DEBUG并没有打开)。这个时候,LCD显示屏是休眠了,触摸屏也休眠了,其他的比如重力传感器等就没有看了,但是标准的Linux系统并没有进入休眠。看了网上好多关于Android系统的休眠与唤醒例子,感觉有些懵懵懂懂的。于是,还是看内核代码吧。        An

2013-01-20 22:43:26 675

转载 IO端口和IO内存的区别及分别使用的函数接口 .

IO端口和IO内存的区别及分别使用的函数接口          每个外设都是通过读写其寄存器来控制的。外设寄存器也称为I/O端口,通常包括:控制寄存器、状态寄存器和数据寄存器三大类。根据访问外设寄存器的不同方式,可以把CPU分成两大类。一类CPU(如M68K,Power PC等)把这些寄存器看作内存的一部分,寄存器参与内存统一编址,访问寄存器就通过访问一般的内存指令进行,所以,这种CPU没

2013-01-20 22:19:20 545

转载 Android Display架构分析--侧重高通平台 .

Android display架构分析(一)http://hi.baidu.com/leowenj/blog/item/429c2dd6ac1480c851da4b95.html高通7系列硬件架构分析如上图,高通7系列 Display的硬件部分主要由下面几个部分组成:A、MDP高通MSM7200A内部模块,主要负责显示数据的转换和部分图像处理功能理,如YUV转RGB,放大缩

2013-01-20 22:13:20 920

转载 LCD驱动及Framebuffer相关 .

内容提要:1. android display相关的名词2. 调试LCD驱动需要注意的步骤3. 关于帧缓冲区及I/O内存------------------------------------------------------------------------------------------1.名词解释GPU:Graphic Processing Unit (图

2013-01-20 22:10:02 1105

转载 android lcd调试 高通平台lcd调试深入分析总结(mipi和rgb接口) .

一:点亮lcd inkernel其实点亮lcd很简单必须保证以后几个步骤正确:1:确认Lcd信息所在文件被编译进去,并且lcd 和board name里面注册一质,倘若这部正确,那么log里面应该有对应分辨率的一段framebuffer同时调到相对应的power_on函数。对于lcdc panel对应文件在lcdc_xx.c,对于mipi panel对应文件在mipi_xx.c(下序列操作

2013-01-20 21:32:47 770

转载 关于Android LCD和键盘背光亮度 .

1.1 设置进度条范围背光设置是在:设置->声音和显示->亮度,通过进度条来设置的。  文件:packages/apps/Settings/src/com/Android/settings/BrightnessPreference.java  private static final int MINIMUM_BACKLIGHT = Android.os.Power.

2013-01-20 21:23:17 773 1

转载 lcd驱动解析(二) .

init部分主要完成的任务是:屏的初始化,显示的初始化,最后打开lcd,背光,等待图片数据输入,然后输出。(产生fbinfo结构体给fbmem.c使用)用户操作的流程包括:ioctl控制图片的显示属性(读取初始化时的配置或者使用bsp操作寄存器改变显示设置)和显示图片的数据源。(概括说就是控制和数据两条线)这一节主要分析init部分,就是属于***fb.c文件的函数。

2013-01-20 21:04:13 529

转载 lcd驱动解析(一) .

硬件执行流程1硬件执行流程2这两幅图的差别在于mix的位置,mix的功能包括alpha blending,color-key,图层处理等。流程1,这些工作是有软件完成的,流程2是由硬件完成的。这个网上找个图啊,不过lcd驱动基本都是这样的架构。fbmem.c是已经实现的,×××fb.c是需要我们自己实现的,这关系到具体的lcd屏。首先,lcd驱动的初

2013-01-20 16:16:17 501

空空如也

空空如也

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

TA关注的人

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