
原创
文章平均质量分 73
wantianpei
这个作者很懒,什么都没留下…
展开
-
电源管理之pmu驱动分析
电源管理芯片可以为多设备供电,且这些设备电压电流有所不同。为这些设备提供的稳压器代码模型即为regulator。说白了regulator就是稳压器,它提供电源供给.简单的可以gpio操作,高电平开电,低电平关电.一般的还包括电流值,电压值等.一般regulator有两种不同的电源,即:ldo和sd.Ldo适合电压要求比较稳,但是功率不是很大的设备.Sd适合功率要求比较大,但可以原创 2013-04-25 16:47:04 · 4352 阅读 · 0 评论 -
gdbserver移植
1、http://ftp.gnu.org/gnu/gdb/ 下载gdb。gdb-7.4.1.tar.gz (最新版,已确认可以编译过)2、编译gdb$ tar xzvf gdb-7.4.1.tar.gz $ cd gdb-7.4.1 $ ./configure --target=arm-linux --prefix=/tianpei/share/ar原创 2012-07-24 13:46:06 · 1563 阅读 · 0 评论 -
Android电池架构分析
此文基于博文 http://wangzhigang2.iteye.com/blog/1270925稍作补充,主要添加 kernel流程的分析 BatteryService实现了一个UevenObserver mUEventObserver。 uevent是Linux内核用来向用户空间主动上报事件的机制,对于JAVA程序来说,只实现UEventObserver的虚函数onUEvent,然后注原创 2012-05-31 17:43:08 · 5018 阅读 · 3 评论 -
alsa声卡驱动分析总结
不小心参考文章:http://blog.youkuaiyun.com/droidphone/ http://blog.chinaunix.net/uid/22917448.html分析只列出部分重要代码,具体请参考linux3.0内核代码。Alsa架构整体来说十分复杂,但对于驱动移植来说我们仅仅只需要关心ASOC就足够了。在学习asoc之前我们先了解一些专业术语:A原创 2012-10-14 16:10:05 · 2313 阅读 · 0 评论 -
bcm4330蓝牙分析总结
对于蓝牙无论最底层的硬件驱动如何实现,都会在HCI层进行统一。也就是说,HCI在主机端的驱动主要是为上层提供统一接口,让上层协议不依赖于具体的硬件实现。HCI在硬件中的固件与HCI在主机端的驱动通信方式有多种,比如UART,USB和SDIO等。 HCI层在所有的设备面前都被抽象为一个hci_dev结构体,因此,无论实际的设备是哪种蓝牙设备、通过什么方式连接到主机,都需要向HCI层和原创 2012-07-24 19:27:29 · 4790 阅读 · 3 评论 -
linux中断响应和处理过程分析
linux中断响应和处理过程:首先中断属于异常的一种。异常,就是可以打断CPU正常运行流程的一些事情,比如说外部中断,未定义的指定,试图修改只读数据,执行SWI指定(software interrupt instructin,软件中断指令,比如说上层调用sys_read,sys_write就会产生swi)等。内核启动时在start_kernel函数(init/main.c)中调用trap_原创 2012-06-01 17:28:30 · 3583 阅读 · 1 评论 -
基于linux下的dm9000网卡移植全分析
DM9000可以直接与ISA总线相连,也可以与大多数CPU直接相连。Mini2440采用的是dm9000直接连接CPU(s3c2440)上。就像是nandflash一样直接被挂在CUP上,被挂在s3c2440的bank4上。小插曲1:s3c2440芯片把存储系统分为了8个Bank,由nGCS0[0]~nGCS[7] 这8根引脚决定当前访问的是哪一个Bank对应的存储器。其中,前6个Bank原创 2012-05-31 19:11:55 · 2382 阅读 · 4 评论 -
Android Eclipse JNI 调用 .so文件加载问题
背景:对于Android工程 Eclipse里编译好的.so文件放到 libs\armeabi下以后, 这样.so文件就可以打包到apk文件里,在apk装到手机上以后 在libs\armeabi下的.so文件应该就会解压到/data/data/这里是你project的包名(比如com.first.second)/lib下。问题:写了个测试的android JNI app,.so已经放到了原创 2012-06-06 15:31:49 · 1240 阅读 · 0 评论 -
Android AlarmManager简单例子
AlarmManager 包含的主要方法:[java] view plaincopyprint?// 取消已经注册的与参数匹配的定时器 void cancel(PendingIntent operation) //注册一个新的延迟定时器 void set(int type, long trigg原创 2012-07-05 13:18:02 · 1652 阅读 · 0 评论 -
Android.mk 杂乱分析
开头参考过:http://www.cnblogs.com/langlang/ hardware\led\led\Android.mkLOCAL_PATH := $(call my-dir){ 首先需要指定LOCAL_PATH变量,用于查找源文件 上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径}#Android原创 2012-06-14 13:06:34 · 3981 阅读 · 0 评论 -
typedef 函数指针的用法
typedef 行为有点像 #define 宏,用其实际类型替代同义字。 不同点:typedef 在编译时被解释,因此让编译器来应付超越预处理器能力的文本替换。用法一:typedef int (*MYFUN)(int, int); 这种用法一般用在给函数定义别名的时候上面的例子定义MYFUN 是一个函数指针, 函数类型是带两个int 参数, 返回一个int原创 2013-01-15 14:37:58 · 863 阅读 · 1 评论 -
java语句调用getprop和setprop命令来获得prop中的数据
一、 配置文件在android系统中,有一些初始化的配置文件,例如:[html] view plaincopy/init.rc /default.prop /system/build.prop 文件里面里面配置了开机设置的系统属性值,这些属性值,可以通过getprop获取,setprop设置,如下图:二、原创 2013-04-07 14:52:09 · 4291 阅读 · 0 评论 -
基于SSH协议的git服务器搭建
1、安装 openssh服务器sudo apt-get install openssh-server openssh-client2、创建个人公钥和私钥在默认用户的主目录路径下,运行以下命令,按照提示创建公钥和私钥ssh-keygen -t rsa默认生成2048位,如果需要提高安全级别,也可以通过下面的命令创建公钥和私钥ssh-keygen -t rsa原创 2013-05-29 17:46:13 · 1015 阅读 · 0 评论 -
eclipse快速加入android全部源码
0.先make整个android源码1.新建Java Project(不是Android project,否则会破坏android源码)2.打开刚才新建的工程目录,复制.project文件到andorid源代码目录下(比如android2.33目录下)3.复制android2.33/development/ide/eclipse/.classpath文件到android2.33目录下原创 2012-06-06 07:17:58 · 1435 阅读 · 0 评论 -
eclipse导出/导入jar包
1、在你所建工程的src目录路径下添加META-INF/MANIFEST.MF如: 2、在MANIFEST.MF这个文件加入下面一句话:Manifest-Version: 1.0 3、选择file/export 4. java/JAR file (然后next) 5. 选择你要导出的文件(只要导出要被调用的接口函数文件原创 2012-06-06 15:36:17 · 2386 阅读 · 1 评论 -
apk文件编译到系统文件中的方法
把第三方或自己开发的apk文件编译到系统文件(system.img)中的方法: 1 (1)源码编译后,把apk拷贝到out\target\product\generic\system\app中。 (2) 执行命令make snod , 把添加的spk编到system.img 中 缺点:执行make clean 后,再次make 完毕需要重新执行上面操作。 2 "方原创 2012-06-06 07:40:02 · 721 阅读 · 0 评论 -
linux为什么要引入平台驱动
linux简单字符驱动很简单,只需要在初始化时对物理地址进行映射,再注册一个fileopenration操作集,然后就和写裸机程序一样实现操作集就可以了。问题一:为什么要进行物理地址到虚拟地址的映射? 因为引入了MMU内存管理,只允许用户操作虚拟地址。问题二:为什么要引入MMU,而不让用户直接操作物理地址?因为内存管理非常复杂,主要是为了安全考虑。假如:原创 2012-06-07 11:02:54 · 2029 阅读 · 2 评论 -
只有一个Service或Broadcast Reciver的android应用
Service是android四大组件中与Activity最相似的组件,都可以代表可执行的程序。 Service与Activity的区别在于: (1)、Service一直在后台运行,没有用户界面。 (2)、一旦service被启动之后,就跟Activity一样。有自己的生命周期。所以可以没有Activity。 开发service需要两个步骤:原创 2012-07-04 19:13:04 · 2144 阅读 · 2 评论 -
svn服务器搭建
1.首先下载svn$ sudo apt-get install subversion(如果不能安装先更新库再试,sudo apt-get update)2.添加svn管理用户及subversion组$ sudo adduser svnuser$ sudo addgroup subversion$ sudo addgroup svnuser subversion原创 2014-10-14 12:01:46 · 1388 阅读 · 0 评论