自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 android键值传递

一、kernel/include/linux/input.h#define KEY_HOME                102二、kernel/arch/arm/mach-rk30/board-rk30-sdk.c{                .desc   = "home",                .code   = KEY_HOME,     

2015-12-18 10:48:56 1087

原创 移植NFC驱动到android系统

1>>>进入kernel目录,替换driver层文件:kernel/drivers/nfc/pn544.ckernel/include/linux/nfc/pn544.h更新nfc目录下得Makefile喝Config2>>>将Firmware复制到device/rockchip/rk3066下3>>>修改device/rockchip/rk3066/rk3066.

2015-12-18 10:46:22 8885

原创 如何将jdk1.8降到jdk1.6

java是从jdk1.7的时候才开始提供MAC OS版本的idk,想下载jdk1.6,需要从苹果网站下载https://support.apple.com/kb/DL1572?locale=zh_CN,此处需注意,要切换语言到English,下载英文版本进入到/Library/Java/JavaVirtualMachines,执行下面的操作:cp -rf/Library/Java/JavaVi

2015-12-18 10:42:19 8878

原创 Android 编译环境创建

1. 安装Ubuntu操作系统2. 安装编译所需要的各种包sudo apt-get install libncurses5-devsudo apt-get install git gnupg flex bison gperf build-essential  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev  l

2015-12-10 15:59:53 296

原创 美团云创建用户名和工作区

在美团云申请了云主机后,需要通过美团的一些策略登录到云主机(主要是一些ssh的命令)因为我的云主机OS选择的是OS,所以ssh登录上去之后是root@felix,此时需要创建我自己的用户名,有自己的工作区所以先创建自己的用户:adduser liuxiang这条命令会创建自己的目录,但是我们的云硬盘是挂载到了/data下面,首先我先让我的用户名获得执行sudo命令的权利,操作如下

2015-12-10 15:23:19 680

转载 linux 下文件加密压缩和解压的方法

关闭方法一:用tar命令 对文件加密压缩和解压压缩:[html] view plaincopytar -zcf  - filename |openssl des3 -salt -k password | dd of=filename.des3  此命令对filename文件进行加码压缩 生成filena

2015-12-01 14:47:28 731

转载 Android dumpsys 命令解析

Android has an interesting command called dumpsys  to dump some system information. Even described on adb manual  I think that some points should be reinforced. In order to get the complete status j

2015-11-21 19:39:45 398

转载 Monkey测试简介

shell, monkey, system, Android, 文件系统Monkey, 示例, 简介一、Monkey测试简介Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压 力测试,检测程序多久的时间会发生异常。 二、Monkey程序介绍1) Monkey程序由And

2015-11-04 19:10:26 267

原创 android studio如何做JNI开发

1. 创建工程,本次示例采用了默认设置下一步下图是生成的Project目录结构2. 在src/main/java下创建一个Class NdkJniUtils.java,在该类中添加本地Native函数添加本地native函数:public class NdkJniUtils { public static native String

2015-10-10 13:43:00 477

转载 NDK-JNI实战教程(一) 在Android Studio运行第一个NDK程序

NDK开发,其实是为了项目需要调用底层的一些C/C++的一些东西;另外就是为了效率更加高些。如果你在Eclipse+ADT下开发过NDK就能体会到要么是配置NDK还要下载Cygwin, 配置Cygwin ,然后需要编译生成,相当的蛋疼。要么是直接用Eclipse开发,但是前期配置也是一堆;真心蛋疼。但是现在在AS上Eclipse能做到的这边都OK,这边有的Eclipse 上没有的,而且Google

2015-10-09 14:39:10 266

转载 linux常用头文件

2.6.30.4的头文件的位置和2.6.25.8的不一样,除去内核源码下的include目录外,在arch/arm/mach-s3c2410/和arch/arm/plat-s3c24xx/目录下都有include目录的。#include         /* printk() *///#include         /* kmalloc() *///#include         /*

2015-08-26 17:25:21 250

转载 LCD调试

LCD调试:        虽然我们多数驱动人员最开始都是从调试LCD开始入手的,但准确来说,LCD算是外设当中最难调试的东西了,之所以这么说,是因为LCD涉及到的接口类型和各种显示问题最多了。其中有CPU接口、RGB和Mipi之类的接口。那么,遇到这些接口怎么办?         其实我们现在的调试LCD,算是很表层的,没有深入的去学习接口的类型,各种控制信号的作用,换一个接口很

2015-05-27 11:37:04 2768

转载 i2c_check_functionality函数的实现

下面再来讨论下前面一章中i2c_probe函数中调用的i2c_check_functionality函数的实现。I2c_probe函数中有这样一段:       /* Stop here if we can't use SMBUS_QUICK */       if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_QUICK)) {

2015-05-19 19:43:52 9035

转载 Android睡眠唤醒机制--Kernel态

一、简介      Android系统中定义了几种低功耗状态:earlysuspend、suspend、hibernation.      1) earlysuspend: 是一种低功耗的状态,某些设备可以选择进入某种功耗较低的状态,比如 LCD可以降低亮度或灭掉;        2) suspend: 是指除电源管理以外的其他外围模块以及cpu均不工作,只有内存保持自刷新的状态

2015-05-12 15:29:54 798

转载 Android (Linux) Suspend流程

1. Linux Suspend简介    Linux Suspend主要有以下三步:   1) 冻结用户态进程和内核态任务    2) 调用注册的设备的suspend的回调函数,顺序是按照注册顺序    3) 休眠核心设备和使CPU进入休眠态。   冻结进程(suspend_freeze_processes)是内核把进程列表中所有的进程的状态都设置为停止,并且保存所有

2015-05-12 14:49:18 667

转载 Linux 驱动的打印方法

Linux  printkprintk( ) 函数中可以指定日志的级别。#define KERN_EMERG    ""    /* system is unusable            */#define KERN_ALERT    ""    /* action must be taken immediately    */#define KERN_CRIT    "" 

2015-05-07 11:33:04 2051

原创 电量计max17048移植记录

从第一次选定maxium17048到移植成功折腾了不少时间,这期间也对相关模块逐个熟悉起来,再次记录,以供后续参考。1. 最开始,FAE提供了max17048的驱动文件,只有一个C文件,这个文件实现了读取电量计寄存器中SOC, vcell等功能。下面是设备结构体。struct max17049_chip {struct i2c_client*client;struct

2015-04-01 15:13:18 2846 2

转载 Linux内核module_param的使用

1.定义模块参数的方法:module_param(name, type, perm);其中,name:表示参数的名字;     type:表示参数的类型;     perm:表示参数的访问权限; 2. 数组类型模块参数的定义:用逗号间隔的列表提供的值;声明一个数组参数:module_param_array(name, type, num, p

2015-03-31 10:05:44 390

转载 android如何手动生成设备节点

init.rc里所有可用的command都定义在system/core/init/keyword.h里,默认是不包含mknod的。事实上,Android的init进程会通过kenel的uevent来自动创建设备节点(见system/core/init/devices.c里的make_device()函数)。如果你希望手动调用mknod, 我想你可以1. 仿照make_device(),

2015-03-20 16:43:13 1048

转载 Android如何生成设备节点

Android 与linux一样使用设备驱动来访问硬件设备,设备节点文件是设备驱动的逻辑文件,应用程序使用设备节点文件来访问设备驱动程序,linux使用mknod来创建设备节点文件,Android 有自己法子。Android 使用Init 进程来创建设备节点文件,分两种情况:静态节点文件和动态节点文件,以应对已经定义好的冷插拔和系统运行起来后插入的热插拔设备。对于冷插拔设备,ini

2015-03-20 16:29:39 1390

转载 Android Studio如何同NDK集成

原文: http://ph0b.com/android-studio-gradle-and-ndk-integration/将native库(.so文件)集成到你的APK包以前的方法是把.so放到.jar包里, 现在很简单了在 src/main/ 目录下(该目录下有 java和res两个子目录), 创建一个 jniLibs 目录再创建相应ABI子目录(如 x86, mips, ar

2015-03-19 20:19:23 512

转载 android APP调用自定义java API,自定义java API调用自定义jni接口

1:在android源码目录framework/base下面创建add目录add目录里面的结构如下:里面的Nadd.java android_jnitest_Nadd.cpp 和Android.mk内容如下:Nadd.java[java] view plaincopyprint?package 

2015-03-17 10:43:57 1552

转载 Android 的 KeyEvent : 從 EventHub 到 PhoneWindowManager

最近追蹤了一下 Android 4.3 的 source,並且追蹤了 KeyEvent 一路從 EventHub.cpp 到 PhoneWondowManager.java 的流程這邊順便記錄一下。Android 在 Linux kernal 的部份,所有的 Input Event 都會使用 /dev/input/event0~X 的 device node要 Monitoring

2015-03-12 10:44:33 1121

转载 I2C设备,读写地址换算

I2C设备的写地址 = I2C设备地址 I2C设备的读地址 = (I2C设备地址 例如:#define     MAX_17040_BATTERY_I2C_ADDR        (0x36)#define     MAX_17040_BATTERY_WRITE_ADDR    (MAX_17040_BATTERY_I2C_ADDR #define     MAX_1704

2015-03-04 11:46:30 1039

转载 各种总线match匹配函数

当向linux系统总线添加设备或驱动时,总是会调用各总线对应的match匹配函数来判断驱动和设备是否匹配,这些match函数之间都存在一定的差异,本文先对常用的match匹配函数进行讲解,以后会陆续添加新的内容。 一. 驱动和设备匹配过程常用数据结构1. of_device_idstruct of_device_id{charname[32];c

2015-02-28 10:59:28 773

转载 I2C设备驱动编写

http://blog.csdn.net/airk000/article/details/21345457

2015-02-28 10:39:47 451

转载 Android编译系统makefile(Android.mk)写法

Android编译系统的makefile文件Android.mk写法如下(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:LOCAL_PATH:=$(call my-dir)上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径。(2)A

2015-02-26 11:08:33 354

转载 LINUX I2C模型 RTC模型 详细分析

注意:1.         LINUX-2.6.20的内核2.         CPU是AT91SAM92603.         PCF8563的I2C驱动 大体过程:1.         为什么内核要有这么多模型2.         platform总线、设备、驱动模型,简单的介绍3.         I2C模型所涉及到的程序文件位置及简介4.       

2015-02-25 16:21:55 507

转载 Linux内核中的platform机制

从Linux 2.6起引入了一套新的驱动管理和注册机制:platform_device和platform_driver。Linux中大部分的设备驱动,都可以使用这套机制,设备用platform_device表示,驱动用platform_driver进行注册。Linux platform driver机制和传统的device driver 机制(通过driver_register函数进行注册

2015-02-25 16:01:09 367

转载 opendir 、readdir 小结

1. opendir()头文件  #include   #include 函数原型  DIR* opendir (const char * path ); (获取path子目录下的所由文件和目录的列表,如果path是个文件则返回值为NULL)功能  打开一个目录,在失败的时候返回一个空的指针。返回值(DIR)       

2015-01-14 15:05:50 396

转载 recovery输入事件及处理分析

代码是基于android4.1的。1recovery输入事件及处理分析1.1时序图support touch" name="image_operate_43411352383662625" alt="Recovery support touch" src="http://s12.sinaimg.cn/mw690/89f592f5gcdfc5adec1eb&690" widt

2015-01-14 13:58:44 953

转载 Linux cpufreq 机制了解

随着 energy efficient computing 和 performance per watt 等概念的推广以及高级配置与电源接口ACPI(Advanced Configuration and Power Interface)标准的发展,目前市场上的主流 CPU 都提供了对变频(frequency scaling)技术的支持。例如Intel®处理器所支持的 Enhanced SpeedS

2015-01-12 20:38:32 564

转载 linux内核input子系统解析

Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持越来越倾向于标准的input输入子系统。包括我们要分析的条形码和二维码扫描枪,它们只是模拟了键盘输入,走了Input输入子系统的流程。一、input输入子系统框架(截图来源于网络)下图是input输入子系统框架,输入子系统由输入子系统核心层( Input Core ),驱动层和事

2015-01-04 14:46:40 689

转载 关于struct device_driver结构中的probe探测函数的调用

用SourceInsight跟踪:从driver_register看起,此处我的这里是:int driver_register(struct device_driver * drv){if ((drv->bus->probe && drv->probe) ||     (drv->bus->remove && drv->remove) ||     (drv->bus->s

2014-12-30 17:25:11 435

转载 如何查看USB方式连接Android设备的外接设备信息

1,USB存储设备(如:U盘,移动硬盘): //USB存储设备 插拔监听与 SD卡插拔监听一致。 private USBBroadCastReceiver mBroadcastReceiver;     IntentFilter iFilter = new IntentFilter();       iFilter.addAction(Intent.ACTION_MED

2014-12-26 14:27:17 1691

转载 linux下的I2C驱动记录

现在做的是RK平台的I2C驱动,不是说linux每个外设对应一个设备文件吗?可是找了一下一直没找到,今天特别搞了一下。I2C设备是注册为platform平台驱动的。下面是我用adb命令查看的linux的设备文件不一定只在dev/这个目录下面,像sys/ 目录下面也会有一些设备文件的MID下面的I2C设备的设备文件1|root@android:/ # ls sys

2014-12-23 15:52:45 622

转载 将新的驱动源文件添加进android内核进行编译

1,同目录下的makefile,如## Makefile for industrial I/O Magnetometer sensors#obj-$(CONFIG_SENSORS_AK8975)    += ak8975.oobj-$(CONFIG_SENSORS_HMC5843)    += hmc5843.o  2,同目录下的kcon

2014-12-20 19:13:41 655

转载 android的m、mm、mmm编译命令的使用

android源码目录下的build/envsetup.sh文件,描述编译的命令- m:       Makes from the top of the tree. - mm:      Builds all of the modules in the current directory. - mmm:     Builds all of the modules in the su

2014-12-20 18:58:30 1122

转载 Linux Kconfig及Makefile学习

内核源码树的目录下都有两个文档Kconfig (2.4版本是Config.in)和Makefile。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文档相关的内核配置菜单。在内核配置make menuconfig时,从Kconfig中读出菜单,用户选择后保存到.config的内核配置文档中。在内核编译时,主Makefile调用这个.config,

2014-12-17 14:13:39 409

转载 MISC混杂设备 struct miscdevice /misc_register()/misc_deregister()

在Linux系统中,存在一类字符设备,他们共享一个主设备号(10),但此设备号不同,我们称这类设备为混杂设备(miscdeivce),查看/proc/device中可以看到一个名为misc的主设备号为10.所有的混杂设备形成一个链表,对设备访问时内核根据次设备号找到对应的miscdevice设备。相对于普通字符设备驱动,它不需要自己去生成设备文件。Linux内核使用struct miscd

2014-12-17 13:37:56 454

空空如也

空空如也

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

TA关注的人

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