
linux
文章平均质量分 54
joqian
这个作者很懒,什么都没留下…
展开
-
Android触摸屏输入系统
1.触摸屏硬件原理1.1电阻触摸屏 中断产生。触摸屏芯片根据触摸按下时电阻分压值发生变化而产生中断,该中断输入给CPU。产生的条件很简单,主要有VDD,GND信号即可。因此,我们在调试时,可以在没有驱动的情况下去测量中断脚,是否在有触摸时发生变化,以前验证模块的好坏。 1.2电容触摸屏 中断产生和电阻屏类似,只不过电容屏是由于人体接触时形成耦合电容,从而电流发生变化。转载 2012-12-07 14:13:09 · 724 阅读 · 0 评论 -
如何枚举产生i2c_client ,何时使用i2c_new_device
根据自己的理解翻译了http://lxr.linux.no/linux+v2.6.34/Documentation/i2c/instantiating-devices 中关于枚举建立i2c_client的文档。有异议或疑问请参照原文,毕竟内核的文档才是真正的精华。方法1:使用总线号声明设备。在内核的初始化中定义设备的信息。前提是内核编译的时候已经确定有哪些i2c设备和它们的地址,还转载 2013-05-13 15:51:23 · 1039 阅读 · 0 评论 -
android关机充电流程、充电画面显示
关键词:android电池关机充电androidboot.mode charger 关机充电 充电画面显示 平台信息:内核:linux2.6/linux3.0系统:android/android4.0平台:S5PV310(samsungexynos 4210)电池的基本原理;android关机充电流程、充电画面显示;Android开机充电流程,电池电量、转载 2013-06-21 15:33:51 · 1438 阅读 · 0 评论 -
Uboot 源码分析----代码整体结构分析
1. 文件夹总体功能分析- board 目标板相关文件,主要包含SDRAM、FLASH驱动;- common 独立于处理器体系结构的通用代码,如内存大小探测与故障检测;- cpu 与处理器相关的文件。如mpc8xx子目录下含串口、网口、LCD驱动及中断初始化等文件;- driver 通用设备驱动,如CFI FLASH驱动(目前对INTEL FLASH支持较好)- doc U-B转载 2013-06-19 14:22:12 · 880 阅读 · 0 评论 -
U-Boot启动过程完全分析
1.1 U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能Ø 硬件设备初始化Ø 加载U-Boot第二阶段代码到RAM空间Ø 设置好栈Ø 跳转到第二阶段代码入口 (2)第二阶段的功能Ø 初始化本阶段使用的硬件设备Ø 检测系统内存映射Ø 将内核从Fla转载 2013-07-16 16:10:02 · 824 阅读 · 0 评论 -
linux __attribute__ 分析
# define __user __attribute__((noderef, address_space(1)))__user这个特性,即__attribute__((noderef, address_space(1))),是用来修饰一个变量的,这个变量必须是非解除参考(no dereference)的,即这个变量地址必须是有效的,而且变量所在的地址空间必须是1,即用户程序空间的。这里转载 2013-07-18 11:10:12 · 2101 阅读 · 0 评论 -
蓝牙耳机简单的流程分析
最近在关注蓝牙耳机方面的问题,做下简单的流程分析。解码后,在AudioFlinger里把音频数据写到设备里。这里主要看看AudioFlinger,AudioPolicyManager和external/bluetooth/bluez/audio里面的android_audio_hw.c和liba2dp.c。在AudioPolicyManager里有设备连接判断。status_t Aud转载 2013-07-02 18:07:50 · 2987 阅读 · 0 评论 -
sd卡受损修复办法
以后出现SD卡受损,千万不要再格式化内存卡了。修复过程:1、手机提示TF卡受损,需要格式化 。2、把TF卡插入读卡器,接到电脑USB后,电脑提示格式化,点取消。然后查看一下属性。直接使用属性中的 工具-开始检查。发现无法检查磁盘错误3、点电脑上的“开始菜单”--“运行”- chkdsk H:/F (H:就是你的SD卡盘符,/F是修复参数。)4、等待修复完成,DOS窗口会转载 2013-08-22 14:14:02 · 7391 阅读 · 1 评论 -
Android中计算坐标变换速度的原理
采用最小二乘法对获取的坐标X,Y时间序列进行回归拟合。对于X时间序列(xi,ti):xi=b0+b1*ti+b2*ti^2+...+bm*ti^m,可得如下等式A*B=Y----------(1)其中,(带t的表示矩阵的转置) 矩阵B为拟合后要求解的系数矩阵(b0 b1 b2 ... bn)t转载 2013-09-03 11:28:17 · 1370 阅读 · 0 评论 -
linux内核的 等待队列 使用方法,wait_queue_head_t,进程休眠
当你在用户空间需要读写一大片数据的时候,这个就用上了。以下来自:http://www.yuanma.org/data/2006/1207/article_1916.htm假设我们在 kernel 里产生一个 buffer,user 可以经由 read,write 等 system call 来读取或写资料到这个 buffer 里。如果有一个 user 写资料到 buffer 时,此转载 2013-09-11 11:30:05 · 690 阅读 · 0 评论 -
linux进程的休眠(等待队列)
当进程以阻塞的方式通信,在得到结果前进程会挂起休眠。为了将进程以一种安全的方式进入休眠,我们需要牢记两条规则:一、永远不要在原子上下文中进入休眠。二、进程休眠后,对环境一无所知。唤醒后,必须再次检查以确保我们等待的条件真正为真简单休眠完成唤醒任务的代码还必须能够找到我们的进程,这样才能唤醒休眠的进程。需要维护一个称为等待队列的数据结构。等待队列就是一个进程链表,其中包含转载 2013-09-11 11:31:10 · 768 阅读 · 0 评论 -
关于 Caused by:.. /proc/net/xt_qtaguid/stats:open failed: ENOENT (No such file or directory)问题的解决
W/PowerUI ( 2092): unknownintent: Intent { act=android.intent.action.ACTION_POWER_CONNECTEDflg=0x10000010 }D/dalvikvm( 2027): GC_CONCURRENTfreed 483K, 13% free 8876K/10119K, paused 2ms+3msF/Batter原创 2014-04-18 09:08:54 · 5081 阅读 · 2 评论 -
android_wifi读书笔记之1-wifi简介
1、wifi简介1.1 物理简介wlan:无线局域网,802.11协议wifi主要物理组件: 工作站(station)、接入点AP(access point)、无线媒介(wirelessmedium)、分布式系统(distribution system)Wifi可工作在station模式和AP模式。station模式的结构:Ap模式:原创 2014-05-27 13:26:58 · 1361 阅读 · 0 评论 -
IO空间的静态映射基本过程
1、前言IO端口与IO内存的概念:外设中的寄存器称为是IO端口,外设中的内存称为是IO内存。二者统称为IO空间。Linux内核是通过虚拟地址访问外设的。所以需要先将虚拟地址映射到相应外设的物理地址上,linux的映射方式有两种:静态映射(map_desc)和动态映射(ioremap),其实也是内核访问外设资源的方式。2、静态映射基本过程:在驱动中配置寄存器,可以调用类似于s3c_gpi原创 2014-05-29 12:04:07 · 1904 阅读 · 0 评论 -
Linux内核系统模块组成
Linux内核系统模块组成 1、进程调度模块Linux 以进程作为系统资源分配的基本单位,并采用动态优先级的进程高级算法,保证各个进程使用处理机的合理性。进程调度模块主要是对进程使用的处理机进行管理和控制。2、内存管理模块Linux的内存管理模块采用先进的虚拟存储机制,实现对多进程的存储管理。它提供了十分可靠的存储保护措施,对进程赋予不同的权限,用户不原创 2013-04-18 09:29:21 · 1681 阅读 · 0 评论 -
linux多文件编译方法
一. 常用编译命令选项 假设源程序文件名为test.c。 1. 无选项编译链接 用法:#gcc test.c 作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。 2. 选项 -o 用法:#gcc test.c -o test 作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来转载 2013-04-18 08:53:25 · 733 阅读 · 0 评论 -
linux正在进步
linux正在进步 作为还算没有入门的小子,今天学习了shell、linux编译、fork函数1)shell一个命令解释器;是操作系统的外壳;是用户与linux内核之间的接口程序; shell命令分为shell内部命令(如cd) 和外部命令(指单独的实体程序,如rm,cp)shell的命令后跟有选项和参数,选项前有一个减号,以示区别。 shell本身也是原创 2013-04-17 16:38:49 · 626 阅读 · 0 评论 -
Linux与Android 多点触摸协议
Linux与Android 多点触摸协议 参考于:http://blog.youkuaiyun.com/joqian/article/details/8269205 为了使用功能强大的多点触控设备,就需要一种方案去上报用户层所需的详细的手指触摸数据。这个文档所描述的多点触控协议可以让内核驱动程序向用户层上报任意多指的数据信息。1、使用说明 单点触摸转载 2012-12-07 15:01:02 · 521 阅读 · 0 评论 -
Linux输入子系统(InputSubsystem)
Linux输入子系统(InputSubsystem)1,linux输入子系统简述 其实驱动这部分大多还是转载别人的,linux输入子系统后面再详细分析。在Linux中,输入子系统是由输入子系统设备驱动层、输入子系统核心层(InputCore)和输入子系统事件处理层(Event Handler)组成。其中设备驱动层提供对硬件各寄存器的读写访问和将底层硬件对用户输入访问的响应转换为转载 2012-12-07 14:57:23 · 524 阅读 · 0 评论 -
实例解析linux内核I2C体系结构
实例解析linux内核I2C体系结构作者:刘洪涛,华清远见嵌入式学院讲师。一、概述谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。第一种方法的好处(对应第二种方法的劣势)有: ● 思路比较直接,不需要花时间去了解linux内核中复转载 2012-12-10 10:03:09 · 621 阅读 · 0 评论 -
workqueue
1. 什么是workqueueLinux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workqueue是内核中实现简单而有效的机制,他显然简化了内核daemon的创建,方便了用户的编程.工作队列(workqueue)是另外一种将工作推后执行的形式.工作队转载 2012-12-10 09:21:38 · 394 阅读 · 0 评论 -
手把手教你写Linux I2C设备驱动
转自:http://ticktick.blog.51cto.com/823160/760020 Linux I2C驱动是嵌入式Linux驱动开发人员经常需要编写的一种驱动,因为凡是系统中使用到的I2C设备,几乎都需要编写相应的I2C驱动去配置和控制它,例如 RTC实时时钟芯片、音视频采集芯片、音视频输出芯片、EEROM芯片、AD/DA转换芯片等等。 Linux I2C驱转载 2012-12-10 12:03:48 · 833 阅读 · 0 评论 -
linux设备驱动归纳总结
文章转自:http://blog.chinaunix.net/space.php?uid=25014876&do=blog&id=59420根据学习时的笔记(李杨老师授课)、《linux内核设计与实现》第三版、《linux设备驱动程序》第三版和《linux设备驱动开发详解》第一版来归纳的除了第一章外,其他的代码都是通过交叉编译后在ARM9上运行,我使用的内核版本是我学习时候使用的2转载 2012-12-10 14:22:46 · 770 阅读 · 0 评论 -
Linux Platform驱动程序框架解析
platform设备驱动1.platform总线、设备与驱动在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、I2 C、SPI等的设转载 2012-12-10 09:35:34 · 465 阅读 · 0 评论 -
HEX文件和BIN文件格式的区别
HEX文件和BIN文件格式的区别 HEX文件和BIN文件是我们经常碰到的2种文件格式。下面简单介绍一下这2种文件格式的区别:1 - HEX文件是包括地址信息的,而BIN文件格式只包括了数据本身。 在烧写或下载HEX文件的时候,一般都不需要用户指定地址,因为HEX文件内部的信息已经包括 了地址。而烧写BIN 文件的时候,用户是一定需要指定地址信息的。2 -B原创 2012-12-14 10:34:33 · 878 阅读 · 0 评论 -
LCD硬件原理
摘抄自 宋宝华 老师 《Linux设备驱动开发详解》原创 2012-12-14 12:06:11 · 1009 阅读 · 0 评论 -
Linux下spi驱动开发
作者:刘洪涛,华清远见嵌入式学院讲师。一、概述基于子系统去开发驱动程序已经是linux内核中普遍的做法了。前面写过基于I2C子系统的驱动开发。本文介绍另外一种常用总线SPI的开发方法。SPI子系统的开发和I2C有很多的相似性,大家可以对比学习。本主题分为两个部分叙述,第一部分介绍基于SPI子系统开发的理论框架;第二部分以华清远见教学平台FS_S5PC100上的M25P10芯片为例(内核版本转载 2013-03-20 13:49:45 · 698 阅读 · 0 评论 -
linux菜鸟在ubuntu下编译了arm的c程序
绝对菜鸟在ubuntu下编译了arm的c程序1、 直接gcc -o hciwr hciwr.c执行程序报如下错误:/system # ./hciwr ./hciwr: line 1: syntax error: unexpected "("编译器的问题,可能gcc应该是x86的 2、所以用arm的gcc编译:arm-linux-gcc-4.5.1 -原创 2013-04-02 15:43:04 · 1940 阅读 · 0 评论 -
c++调用shell 或者dos命令—使用system函数
c++调用shell 或者dos命令—使用system函数 转自:http://hi.baidu.com/jiangyangw3r/item/eedfba37b8dd6899b80c039e相关函数 fork,execve,waitpid,popen表头文件 #i nclude定义函数 int system(const char转载 2013-04-10 15:50:12 · 1543 阅读 · 0 评论 -
GPIO调用方法的实现流程
GPIO调用方法的实现流程上文中虽然讲述了如何实现IO空间的静态映射方法,但调用s3c_gpio_cfgpin、s3c_gpio_setpull、gpio_direction_output就可以访问IO空间,这又是如何实现的呢?本文就来讲述一下实现过程。回到smdkv210_map_io函数中staticvoid __init smdkv210_map_io(void){原创 2014-05-29 12:18:56 · 2936 阅读 · 0 评论