- 博客(12)
- 资源 (20)
- 收藏
- 关注
原创 Adb源码学习
Adb源码学习 关于 init_transport_registration函数 在初始化 transport注册系统时,创建一对 sockpair( transport_registration_send, transport_registration_recv)用于异步处理注册事件 , 并在 transport_registration_recv上安装一个异步事件回调函数 tr
2010-03-29 13:04:00 1982
原创 Android IPC 通讯机制源码分析
Android IPC 通讯机制源码分析默认分类 2009-03-11 17:27:34 阅读1016 评论0 字号:大中小 ----AlbertchenBinder通信简介: Linux系统中进程间通信的方式有:socket, named pipe,message queque, signal,share memory。Java系统中的进程间通信方式有socket,
2010-03-24 00:55:00 745
原创 第一部分 Binder的组成
第一部分 Binder的组成1.1 驱动程序部分驱动程序的部分在以下的文件夹中:kernel/include/linux/binder.hkernel/drivers/android/binder.cbinder驱动程序是一个miscdevice,主设备号为10,此设备号使用动态获得(MISC_DYNAMIC_MINOR),其设备的节点为:/dev/binder binder驱动程序会在pr
2010-03-23 20:08:00 858
原创 加速Linux程序编译
加速Linux程序编译Tue, 5 Jan 2010 项目越来越大,每次需要重新编译整个项目都是一件很浪费时间的事情。Research了一下,找到以下可以帮助提高速度的方法,总结一下。tmpfs 有人说在Windows下用了RAMDisk把一个项目编译时间从4.5小时减少到了5分钟,也许这个数字是有点夸张了,不过粗想想,把文件放到内存上
2010-03-22 22:42:00 637
原创 处理器的乱序和并发执行
处理器的乱序和并发执行 目前的高级处理器,为了提高内部逻辑元件的利用率以提高运行速度,通常会采用多指令发射、乱序执行等各种措施。现在普遍使用的一些超标量处理器通常能够在一个指令周期内并发执行多条指令。处理器从L1 I-Cache预取了一批指令后,就会分析找出那些互相没有关联可以并发执行的指令,然后送到几个独立的执行单元进行并发执行。比如下面这样的代码(假定编译器不做优化): z = x
2010-03-22 18:20:00 2145
原创 linux-2.6.26内核中ARM中断实现详解(2)
linux-2.6.26内核中ARM中断实现详解(2)作者:刘洪涛,华清远见嵌入式学院金牌讲师,ARM公司ATC授权培训讲师。三、中断处理过程 这一节将以S3C2410为例,描述linux-2.6.26内核中,从中断开始,中断是如何一步一步执行到我们注册函数的。 3.1 中断向量表 arch/arm/kernel/entry-armv.S__vectors_start:
2010-03-22 13:31:00 587
原创 arm linux 下中断流程简要分析
arm linux 下中断流程简要分析author: aaron ([email protected])这篇文档准备简要的分析下arm平台上linux下的中断是如何运行的,本文将先分析初始化时的中断是如何建立的,然后以一个例子来注册一个中断,并详细分析中断触发到调用我们自己的中断例程的整个流程。不对之处,欢迎指正! 本文linux2.6.18的源码和s3c2410的CPU及smdk241
2010-03-22 12:18:00 2052 1
原创 浅析android通过jni控制service服务程序的简易流程
浅析android通过jni控制service服务程序的简易流程 浅析android通过jni控制service服务程序的简易流程android_net_wifi_startSupplicant这个就是jni函数=>wifi_start_supplicantstatic const char SUPP_CONFIG_TEMPLATE[]= "/system/etc/wifi/wpa_suppli
2010-03-17 13:38:00 984
转载 linux内核的一些预定义
所有的内核代码,基本都包含了linux/compile.h这个文件,所以它是基础,打算先分析这个文件里的代码看看,有空再分析分析其它的代码。首先印入眼帘的是对__ASSEMBLY__这个宏的判断,这个变量实际是在编译汇编代码的时候,由编译器使用-D这样的参数加进去 的,AFLAGS这个变量也定义了这个变量,gcc会把这个宏定义为1。用在这里,是因为汇编代码里,不会用到类似于__user这样的属
2010-03-10 16:54:00 414
转载 浅析android下propt怎么通过init进程传递和glibc库函数的添加
浅析android下propt怎么通过init进程传递和glibc库函数的添加adb shell# printenv# getprop 获取所有java层propt# setprop wifi.interface eth0 设置"wifi.interface"对应的数值为eth0环境变量ANDROID_PROPERTY_WORKSPACE=9,32768所以fd=9,大小size=32768sys
2010-03-09 15:26:00 776
转载 Android init 启动过程分析
分析android的启动过程,从内核之上,我们首先应该从文件系统的init开始,因为 init是内核进入文件系统后第一个运行的程序,通常我们可以在linux的命令行中指定内核第一个调用谁,如果没指定那么内核将会到/sbin/,/bin/ 等目录下查找默认的init,如果没有找到那么就报告出错。下面是曾经用过的几种开发板的命令行参数:S3C2410 启动参数:noinitrdroot=/dev/nf
2010-03-09 15:06:00 723
转载 字符编码笔记:ASCII,Unicode和UTF-8 收藏
字符编码笔记:ASCII,Unicode和UTF-8 收藏 字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。 1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状
2010-03-05 14:38:00 511 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人