自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

听说读写

学习,总结,进步

  • 博客(17)
  • 资源 (4)
  • 收藏
  • 关注

转载 Android下耳机HOOK键功能开发

目前大多数耳机线上,都有一个key,可以用来接听电话、解决电话、FM换台等功能,那么在Android平台上怎么实现呢?首先得解决Linux kernel里驱动的问题,headset的这个key在硬件上一般都会连接到SOC的GPIO上,或者变相接到GPIO上,所谓变相就是不直接连接,而是通过codec内部产生一个中断给SOC的GPIO,codec有自己GPIO的可以将此GPIO直接连到SOC的G

2011-06-29 14:07:00 2052

转载 Linux 内核的排队自旋锁(FIFO Ticket Spinlock)

引言自旋锁(Spinlock)是一种 Linux 内核中广泛运用的底层同步机制。自旋锁是一种工作于多处理器环境的特殊的锁,在单处理环境中自旋锁的操作被替换为空操作。当某个处理器上的内核执行线程申请自旋锁时,如果锁可用,则获得锁,然后执行临界区操作,最后释放锁;如果锁已被占用,线程并不会转入睡眠状态,而是忙等待该锁,一旦锁被释放,则第一个感知此信息的线程将获得锁。长期以来,人们总是关注于自旋

2011-06-27 14:40:00 978

转载 spinlock简介

前言在 Linux Kernel 里有著许多重要的资料结构,这些资料在操作系统的运作中扮演著举足轻重的角色。然而,Linux 是个多工的操作系统,也就是在同一时间里可以同时有许多的行程在执行,所以,很有可能某个行程在依序读取 inode list,同时却又有另一个在 inode list 里加入新的 inode,这会造成什么情形呢?这会造成 inode list 的不稳定。所以,在 Kernel

2011-06-27 11:19:00 840

转载 Linux内核中的atoi,itoa等函数

对于普通应用程序,可以通过包含头文件stdlib.h和stdio.h,string.h等,然后调用需要的itoa(),atoi()等函数,但是对于Linux内核来说,无法使用那些C库中的函数。对此Linux内核里有了相应的实现:对于atoi()用simple_strtol() ,simple_strtoul()等函数替代;对于itoa(),用snprintf()。其他相关函数,自己

2011-06-23 16:28:00 4598

转载 sysfs方式实现马达驱动

同类资料 : http://www.ibm.com/developerworks/cn/linux/l-proc.html由于对sysfs的概念不是太清楚,只是知道sysfs是一种类似于/proc的虚拟文件系统,可以在用户空间读写sysfs中的相应文件访问或控制内核空间数据,后拜读各类文章后终于对sysfs及平台设备有了更深层次的理解,但读的再多不如亲手一试。恰巧公司需要为android系统提

2011-06-22 20:54:00 842

转载 android 启动流程

转载自 j_fo最终编辑 j_foSystemServer的启动frameworks/base/services/java/com/android/server/SystemServer.java: run()其中调用ActivityManagerService.installSystemProviders(),最终会调用到frameworks/base/packages/Sett

2011-06-22 20:53:00 822

转载 初次运行 Git 前的配置

一般在新的系统上,我们都需要先配置下自己的 Git 工作环境。配置工作只需一次,以后升级时还会沿用现在的配置。当然,如果需要,你随时可以用相同的命令修改已有的配置。Git 提供了一个叫做 git config 的工具(译注:实际是 git-config 命令,只不过可以通过 git 加一个名字来呼叫此命令。),专门用来配置或读取相应的工作环境变量。而正是由这些环境变量,决定了 Git 在...

2011-06-20 18:04:00 671

转载 等待队列学习笔记

说明一:Namewait_event_timeout — sleep until a condition gets true or a timeout elapses Synopsiswait_event_timeout (wq,  condition,  timeout);Arguments

2011-06-16 17:10:00 601

转载 Tslib主要滤波算法分析

tslib背景: 在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。 Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。 tslib插件: pthres 为Tslib 提供的触摸屏灵敏度门槛插件;variance 为Tslib

2011-06-13 15:10:00 923

转载 Linux中Workqueue机制分析

走入Linux的殿堂已经有一年有余了,在这里我想将Linux的各种实现机制分析一遍,一方面对自己来说也是温故而知新,另一方面,促进大家的交流,最好能够给大家一些抛砖引玉的启迪。我是硬件出身,搞硬件已经好多年了,从是专门软件开发也接近两年了,在这一段时间内我越发认为软硬件协同设计是未来发展的主流,软硬件的界限越来越模糊,软硬件的设计思想是相通的,实现方法是各异的,实现的结果上当然也存在较大差别,因此

2011-06-13 10:09:00 822

转载 linux kernel 工作队列

朋友,你相信,一只蝴蝶在北京拍拍翅膀,将使得纽约几个月后出现比狂风还厉害的龙卷风吗?看过那部经典的影片蝴蝶效应的朋友们一定会说,这不就是蝴蝶效应吗.没错.蝴蝶效应其实是混沌学理论中的一个概念.它是指对初始条件敏感性的一种依赖现象.蝴蝶效应的原因在于蝴蝶翅膀的运动,导致其身边的空气系统发生变化,并引起微弱气流的产生,而微弱气流的产生又会引起它四周空气或其它系统产生相应的变化,由此引起连锁反应,最终导

2011-06-13 10:08:00 1073

转载 《Android系统开发》笔记

 《Android系统开发》笔记1:Android系统概述Android四层架构:1. Linux Kernel&driver层a.依赖于Linux 2.6内核,包括安全性,内存管理,进程管理,网络协议栈,驱动模型等b.Android自己添加的驱动,Binder IPC驱动,显示驱动,输入设备驱动,音频系统驱动,摄像头驱动,Wifi驱动,蓝牙驱动,电源管理等2.

2011-06-12 19:29:00 11758 6

原创 udev与硬件抽象层HAL的实现原理

相对于linux来说,udev还是一个新事物。然而,尽管它03年才出现,尽管它很低调(J),但它无疑已经成为linux下不可或缺的组件了。udev是什么?它是如何实现的?最近研究Linux设备管理时,花了一些时间去研究udev的实现。 udev是什么?u 是指user space,dev是指device,udev是用户空间的设备驱动程序吗?最初我也这样认为,调试内核空间的程序要比调试用

2011-06-12 18:34:00 980

原创 Android开发工具之DDMS

DDMS 的全称是Dalvik Debug Monitor Service,它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。DDMS为IDE和emultor及真正的android设备架起来了一座桥梁。开发人员可以通过DDMS看到目标机器上运行的进程/现成状态,可以android的屏幕到开发机上

2011-06-12 16:34:00 1202

原创 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 时,此时 bu

2011-06-11 10:47:00 488

转载 Android中G-Sensor相关流程

1.使G-sensor正常工作需要做的事:G-sensor driver文件包括:driver/i2c/chips/lis331dl.cdriver/i2c/chips/sensorioctl.hinclude/linux/lis331dl.h并在/kernel/arch/arm/mach-s3c6410/mach-ur6410.c文件中i2c chanel1的结构变量i2c_devs1[] __

2011-06-03 16:43:00 852

转载 较详细的adb调试命令

<br /><br />Android Debug Bridge<br />ADB quickview<br />·       Manage the state of an emulator ordevice<br />·       Run shell commands on a device<br />·       Manage port forwarding on anemulator or device<br />·       Copy files to/from an

2011-06-01 10:27:00 3885

智能硬件 智能家居物联网控制通用通信协议

本文档详细介绍了物联网的方法和通信协议。物联网的方法指任一智能设备联网控制前要做的属性描述方法,以配合网络系统的接口层通信。通信协议详细描述了系统端与设备端的交互通信方式和各场景下的处理方式。 本协议已在智能灯产品中实际应用,并且协议是以所有设备进行物联网为设计思想,所以协议具有强大的设备属性描述能力和可扩展性。

2016-03-24

S3C2440详细资料

S3C2440资料,分15各部分、一个英文资料

2010-03-11

空空如也

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

TA关注的人

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