- 博客(60)
- 资源 (4)
- 收藏
- 关注
转载 android 4.0对power按键的处理
1. 简介 Android4.x在Framework的PhoneWindowManager对Power(KeyEvent.KEYCODE_POWER)和Home(KeyEvent.KEYCODE_HOME)键做了处理,不会把这些键传送上层应用程序。如需要把这些键发送给Activity和Service,需要在PhoneWindowManager处理这些键时“发送一个广播出去,然后在
2013-09-17 15:13:03
1513
转载 linux设备和驱动加载的先后顺序
Linux驱动先注册总线,总线上可以先挂device,也可以先挂driver,那么究竟怎么控制先后的顺序呢。Linux系统使用两种方式去加载系统中的模块:动态和静态。 1 系统初始化调用函数集分析(静态)1.1 函数定义 在linux内核代码里,运用了subsys_initcall来进行各种子系统的初始化,具体怎么初始化的呢?其实并不复杂。以2.6.29内核作为例子。在下就能
2013-04-15 14:29:50
1752
转载 make menuconfig/.config/Kconfig解析
在对linux进行编译,常用的命令是make menuconfig,使用图形界面来对整个系统进行裁剪。当然,除了这条指令,还包括很多配置命令,比如make defconfig, make oldconfig等。这里主要就make menuconfig的执行过程进行解析。一.准备工作包括(交叉)编译环境的建立,linux源码的下载与解压等。二.初步介绍 跟make m
2013-03-20 15:54:09
1265
原创 input 输入事件
1) 触摸设备驱动应当只需要注册轴、与轴对应的键值和真正支持的按钮。注册过多的轴或键值可能会迷惑设备分类算法或导致系统不能正确地检测设备的能力。 比如:如果设备驱动报告了BTN_TOUCH键值, Android系统将认为BTN_TOUCH总是被用于指示触摸工具是否真正地接触触摸屏或仅仅在上方盘旋。 2) 单点触摸(Single-touch)设备支持以下Linu
2013-03-20 11:10:49
2543
转载 高质量C++/C编程指南 -- 第7章 内存管理 (1)
本文出自: 作者: 林锐 博士 (2002-07-19 06:02:00)http://fanqiang.chinaunix.net/a4/b2/20020719/060200272.html第七章 内存管理 欢迎进入内存这片雷区。伟大的Bill Gates 曾经失言:640K ought to be enough for everybody — Bill Gates 198
2013-03-18 18:04:29
1268
原创 内存区域的划分和分配
参考:内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理] 1.内存分配方式 内存分配方式有三种: [1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 [2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。
2013-03-18 11:31:20
12821
原创 kernel 异常处理
ARM Linux内核驱动异常定位方法分析--反汇编方式 原文链接:http://blog.youkuaiyun.com/hunhunzi/article/details/7052032最近在搞Atmel 的SAM9x25平台,Linux系统,用于工业设备。这也是我首次参与工业设备的研发。在调试Atmel SAM9x25的Linux串口设备的时候,发现无论是读还是写,都会产生异常。
2013-03-15 18:14:06
7773
转载 linux 定时器
hrtimer和work工作队列的使用关于定时器:可以参考如下文章:2.6 内核中的计时器和列表 1.hrtimers - 为高分辨率kernel定时器,可作为超时或周期性定时器使用1). hrtimer_init初始化定时器工作模式。 hrtimer_init(&vibe_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); vib
2013-03-14 11:32:37
1034
转载 snprintf函数用法
int snprintf (char *restrict buf, size_t n, const char * restrict format, ...);函数说明:最多从源串中拷贝n-1个字符到目标串中,然后再在后面加一个0。所以如果目标串的大小为n的话,将不会溢出。函数返回值: 若成功则返回欲写入的字符串长度,若出错则返回负值。eg:snprintf(str, sizeof
2013-03-13 10:26:13
5920
转载 常用的UltraEdit使用技巧
常用的UltraEdit使用技巧Tip 1: Alt+C 列模式可以说最初选择使用这个文本编辑软件,原因很简单,就是因为“她”具有列编辑模式。如果您还不知道什么是列编辑模式的话,我想您应该好好研究一下啦。这是一个超级“赞”的功能。在对大文本进行批量的列编辑时候非她莫属(如果您是Windows平台上另外一个强大的文本编辑软件gVim的使用者除外)。快实验一下这个功能吧。
2013-03-11 11:27:30
949
转载 Android"重力加速度传感器"从驱动到应用层全程分析
1. 体系结构2. 数据结构3. 四大函数本文以重力感应器装置G-sensor为例探索Android的各层次结构。1. 体系结构 Android的体系结构可分为4个层次。 第一层次 底层驱动层,包括标准Linux,Android核心驱动,Android相关设备驱动,G-sensor的设备驱动程序即存在于此
2013-02-26 11:31:39
8004
1
原创 android 触摸屏 相关文章
android 电容屏(一):电容屏基本原理篇android 电容屏(二):驱动调试之基本概念篇android 电容屏(三):驱动调试之驱动程序分析篇 这部分重点看:中断申请、工作队列调度,中断的一个详细的调用过程,可以参考中断上下部分 一、电阻式触摸屏工作原理二、 S3C2440 电阻式触摸屏接口、内部ADC结构三、Linux输入子系统
2013-02-19 17:25:04
1014
原创 linux tar 命令
tar 命令详解 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文
2013-02-18 09:41:21
716
转载 linux 同步机制之complete
在Linux内核中,completion是一种简单的同步机制,标志"things may proceed"。要使用completion,必须在文件中包含,同时创建一个类型为struct completion的变量。这个变量可以静态地声明和初始化:DECLARE_COMPLETION(my_comp);或者动态初始化:struct completion my_comp;ini
2013-01-10 16:49:04
11107
原创 显示部分的架构图
1. android 显示系统架构图最上面一层为应用程序,根据数据类型以及应用的不同可以分为几种。第一种是最普通的应用,如UI界面的显示,这部分通常数据类型为RGB格式,数据无须再经过特殊的处理。该应用可以说遍布各个应用程序,几乎是实时存在的。第二种是针对大块YUV数据的应用,如camera的preview、视频的播放等。该应用只针对特定的应用程序,开启时通过overlay直接把大
2013-01-08 11:15:40
1025
转载 c指针
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: (1)int*ptr; (2)char*ptr; (3)int**ptr; (4)int(*p
2012-12-27 17:14:18
577
转载 Android Display System --- SurfaceFlinger分析
转载时请注明出处和作者文章出处:http://danielwood.cublog.cn作者:Daniel Wood------------------------------------------------------------[3] Android display架构分析系列http://hi.baidu.com/leowenj/blog/item/429c2dd6
2012-12-27 10:41:04
2317
转载 Android -- SurfaceFlinger 分析
Android -- SurfaceFlinger 概要分析系列 (一) surfaceflinger 代码追踪 图形显示整个架构是android中相当复杂的系统,涉及到众多的概念,但是非常重要,如花屏,透明,显示速度等等都与其相关,所以是必须破解的障碍,那么就深入学习吧。基本处理流程:应用程序直接与Surface交互,Surface
2012-12-26 11:28:00
2961
转载 Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析
老罗的Android之旅 总结:为了在屏幕中绘制一个指定的画面,我们需要: 1. 分配一个匹配屏幕大小的图形缓冲区 2. 将分配好的图形缓冲区注册(映射)到当前进程的地址空间来 3. 将要绘制的画面的内容写入到已经注册好的图形缓冲区中去,并且渲染(拷贝)到系统帧缓冲区中去 为了实现以上三个操作,我们
2012-12-12 14:38:26
4037
转载 linux下svn命令使用大全
1、将文件checkout到本地目录 svn checkout path(path是服务器 上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件 svn add file例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下所有
2012-12-11 15:04:42
713
转载 Android系统开机启动流程
参考文献 Android Kernel - Boot Loader Android arm linux kernel启动流程(一) Android系统启动流程 -- bootloader、linux kernel、android ARM linux启动分析 android logo:内核、android开机动画
2012-12-05 14:53:06
2734
1
转载 Android系统升级
【整理】Android-Recovery Mode(recover模式详解) 一、前提条件 要进行Android系统升级,必须首先进入recovery模式,进入recovery模式的方式有: 1. 通过读取 /cache 分区中文件 /cache/recovery/command 内容进入,当然在重启之前已经向文件 /cache/recovery/com
2012-12-05 14:50:23
6822
转载 整理Android 显示系统相关文章及链接
整理Android 显示系统相关文章及链接1 Android GUI 的更新过程 view,surface,surfaceflinger,framebuffer等之间大概流程2 Android msm7xxx中的 SurfaceFlinger和Framebuffer之间关系 surfaceflinger,hal framebuffer,mdp,lcd等之间大概关系3 A
2012-11-06 14:20:01
1382
转载 find 、 grep 命令
find 命令语法:find 搜索路径 匹配表达式功能:该命令用于在指定路径中查找符合条件的文件,搜索路径可以是多个目录,不同目录之间以空格分隔 (1)匹配表达式1 -name filename :要查找的文件名。可以使用通配符“*”,“?”,但要用双引号将文件名引起来 例子:【root@localhost tmp】# find –
2012-10-13 10:57:37
888
原创 android display
参考:对fb.h fbmen.c board文件和panel驱动的详细代码分析:基于S3C2440的嵌入式Linux驱动——Framebuffer子系统解读 linux LCD驱动(1-4)--硬件分析 高通和android下的代码分析:Android display Path analysis android framebuffer driver
2012-10-12 14:18:27
4112
转载 linux 内核文章锦集
文章: 内核中的并发Linux内核分析笔记帖: Linux内核开发理论帖:Linux内核开发之阻塞/非阻塞IO---- 等待对列 轮询操作 Linux内核开发之异步通知与异步I/O(一-四) Linux内核开发之中断与时钟(一) Linux内核开发之内存与I/O访问(一)Linux内核开发之
2012-09-28 14:52:30
1038
转载 grep:字符串查找
引自:http://hi.baidu.com/hzslqt/blog/item/dbd0ea4e5145f819b3de05d6.html1. grep简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并
2012-09-25 09:58:10
33436
转载 Linux驱动调试中的Debugfs的使用简介
Linux驱动调试中的Debugfs的使用简介 (2012-03-31 14:14) 在调试linux驱动的时候,可以用debugfs来调试,debugfs类似字符设备驱动一样,甚至更简单,不需要主设备号次设备号等等,只需要实现一个file_operations,然后通过debugfs_create_file就可以在debugfs中建立一个文件结点,就像字符设备驱动那样,只需要对这个文件结
2012-09-18 15:54:54
35391
转载 Android display架构分析(5-8)
Android display架构分析五-Display接口介绍1、User Space display接口在Android平台下,应用程序面对的显示部分的接口就是HAL,参考copybit.cpp (qcom\diaplay\libcopybit),具体接口如下介绍:open_copybit 初始化相关变量
2012-09-17 15:57:54
12726
转载 assert用法总结
assert用法总结assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单
2012-09-13 10:15:09
841
转载 linux内核同步机制中的概念介绍和方法
Linux设备驱动中必须解决的一个问题是多个进程对共享资源的并发访问,并发访问会导致竞态,linux提供了多种解决竞态问题的方式,这些方式适合不同的应用场景。 Linux内核是多进程、多线程的操作系统,它提供了相当完整的内核同步方法。内核同步方法列表如下:=========================内核中采用的同步技术: 中断屏蔽原子操作 (分为整数原子操作和
2012-09-08 11:43:06
8078
1
转载 全面的framebuffer详解
可以同时参考另外几篇详细文章:基于S3C2440的嵌入式Linux驱动——Framebuffer子系统解读 linux LCD驱动(二)--FrameBuffer Linux LCD驱动(三)--图形显示android framebuffer driver 小结[msm7627为例] 一、FrameBuffer的原理 Fr
2012-09-08 09:37:25
5797
转载 Android系统的开机画面显示过程分析
android bootloader启动到kernel 分析: Android Kernel - Boot Loader http://blog.youkuaiyun.com/luoshengyang/article/details/7691321 好几个月都没有更新过博客了,从今天开始,老罗将尝试对Android系统的UI实现作一个系统的分析,也算是落实之前所作出
2012-09-07 15:09:06
2065
转载 android下操作FrameBuffer
可以同时参考另外几篇详细文章:基于S3C2440的嵌入式Linux驱动——Framebuffer子系统解读 linux LCD驱动(二)--FrameBufferLinux LCD驱动(三)--图形显示贺人龙的专栏:android framebuffer driver 小结[msm7627为例]
2012-09-07 15:02:32
1623
转载 Qc FB驱动 以及 LCD调试过程
Qc FB驱动 以及 LCD调试过程高通平台mipi panel kernel读包方法 mipi屏的识别 分类: Linux Android2010-04-07 17:464474人阅读评论(20)收藏举报作者:YiLi Xie(yili.xie@gmail.com)日期:2010/04/07欢迎转载,请注明出处 首先说说QC的片子,
2012-09-06 16:55:26
1553
转载 《Linux内核修炼之道》精华分享与讨论——设备模型
《Linux内核修炼之道》精华分享与讨论(11)——设备模型(上)分类: 《Linux内核修炼之道》 2010-03-24 09:23 12216人阅读 评论(67)收藏举报推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论 对于驱动开发来说,设备模型的理解是根本,毫不夸张得说,理解了设备模型,再去看
2012-09-06 10:28:00
1784
转载 LCD的接口类型详解
LCD的接口类型详解 LCD的接口有多种,分类很细。主要看LCD的驱动方式和控制方式,目前手机上的彩色LCD的连接方式一般有这么几种:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式,DSI模式。MCU模式(也写成MPU模式的)。只有TFT模块才有RGB接口。 但应用比较多的就是MUC模式和RGB模式,区别有以下几点: 1.MCU接口:会解码命
2012-08-03 11:35:11
17048
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人