
android系统学习
文章平均质量分 76
uyiwfn
这个作者很懒,什么都没留下…
展开
-
#########
BluetoothService.java原创 2014-04-14 13:48:32 · 924 阅读 · 0 评论 -
Android 增加LOG
Android.mk中 增加include $(CLEAR_VARS)LOCAL_LDLIBS := -lm -llog注意:LOCAL_LDLIBS := -lm -llog要放在include $(CLEAR_VARS)之后 C++或C文件中增加 #define LOG_TAG "Mfgbridge:"#include #define BLUZ_LOGW(.原创 2012-10-26 10:42:27 · 511 阅读 · 0 评论 -
DOS
DOS集锦 2012-03-26 11:34:22标签:字母学习 特殊符号 解释器 字符串 dos 进来学习批出理积累了一些经验,与大家共同分享!!希望游客在发现错误的时候及时提醒!!谢谢!! 1、REM 和 ::或:+REM为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。注意:第一, 任何以冒号:开头的字符行, 在批转载 2012-10-17 10:41:22 · 1589 阅读 · 0 评论 -
内核代码网站
http://www.oschina.net/code/explore/pf-kernel/drivers/mmc/core/bus.h原创 2012-09-07 09:52:51 · 585 阅读 · 0 评论 -
Android USB VID PID 及 ADB
在 android 设备的 Linux 内核中把 USB 驱动的 PID VID 修改以后,也许之前的 adb 工具就不能识别设备了,会打印出 "device not found" 的提示,特别是 windows ,adb 驱动也不能用了。这个时候该怎么办呢?一,先搞清现在的 PID ,VID 为多少,例如分别为 aaaa、bbbb(十六进制) 对于 linux 如 ubun转载 2012-07-25 15:57:39 · 6969 阅读 · 0 评论 -
USB之枚举
一,概述现在很多的主控上都带有USB的功能,但是对于初学者来说,这方面应用还是比较棘手,因为usb的不但固件程序需要编写,PC端的驱动也要编写,而且驱动写好了还要写个上位机才能看出效果。这样调试起来十分困难,建议从USB的键盘,鼠标开始做,了解清楚了,再做自己的协议就比较简单了。USB的概念历史啥的这里就不说了。我们先不管具体的数据包格式,这一节先从整个包的层面上简单的说,过程是这样的,转载 2012-07-17 09:19:58 · 1592 阅读 · 0 评论 -
驱动笔记
FIQ和IRQ区别 向量中断控制器VIC具有32个中断请求输入,可将其编程分为3类,FIQ,向量IRQ和非向量IRQ。FIQ快速中断请求要求具有最高优先级。如果分配给FIQ的请求多于一个,VIC将中断请求相或后向ARM处理器产生FIQ信号。当只有一个中断被分配为FIQ时可实现最短的FIQ等待,但如果分配给FIQ级的中断多于1个,FIQ服务程序需要读取FIQ状态寄存器来识别产生中断请求原创 2012-06-07 21:00:24 · 996 阅读 · 0 评论 -
Linux知识点
1) Linux中主要有哪几种内核锁?2) Linux中的用户模式和内核模式是什么含意?3) 怎样申请大块内核内存?4) 用户进程间通信主要哪几种方式?5) 通过伙伴系统申请内核内存的函数有哪些?6) 通过slab分配器申请内核内存的函数有?7) Linux的内核空间和用户空间是如何划分的(以32位系统为例)?8) vmalloc()申请的内存有什么特点?9) 用户转载 2012-06-05 21:56:00 · 1804 阅读 · 1 评论 -
从开发者的角度学习Linux内存管理
在Linux开发的过程中对于内存的开发是有很多技巧可以掌握的。下文中就从开发者的角度去看如何进行Linux内核的管理。下文结合实例向大家介绍系统进程与内存之间的微妙关系。 内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容,无论市面上或是网上都充斥着大量涉及内存管理的教材和资料。因此,我们这里所要写的Linux内存管理采取避重就轻的策略,从理论层面就不去班门弄斧,贻笑大方了。我们最想做的转载 2012-06-01 21:09:44 · 563 阅读 · 0 评论 -
Linux内核的同步机制
摘要:本文详细的介绍了Linux内核中的同步机制:原子操作、信号量、读写信号量和自旋锁的API,使用要求以及一些典型示例。标签:Linux一、引言在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问。尤其是在多处理器系统上,更需要一些同步机制来同步不同处理器上的执行单元对共享的数据的访问。转载 2012-06-01 21:19:01 · 375 阅读 · 0 评论 -
Linux driver编写思考
如果是先有 device ,那么匹配就是通过遍历 bus 上的 driver 来进行的,反之就是通过遍历 bus 上的设备进行的,而匹配的前提就是设备已经注册,并且符合这个家族的族规,而族规通常是由 bus 的 match 函数来控制......AD: linux 下面对 driver 的定义:struct device_driver {cons转载 2012-06-01 21:14:25 · 917 阅读 · 0 评论 -
LINUX总结
发表于 2011-02-09 10:33:32 |只看该作者|倒序浏览<!--.pcb {margin-right:0}-->·linux设备驱动归纳总结(一):内核的相关基础概念·linux设备驱动归纳总结(二):模块的相关基础概念·linux设备驱动归纳总结(三):1字符型设备之设备申请·linux设备驱动归纳总结(三):转载 2012-05-31 21:15:50 · 541 阅读 · 0 评论 -
linux上sd卡驱动移植调试记录
我的内核是linux 2.6.28,已经带有了sd mmc卡驱动了只要在menuconfig里面把相应选项选上即可,编译出来了之后,我插上了我的一个512mb的卡,在启动信息了打印如下:s3c2440-sdi s3c2440-sdi: powered down.mmc0: error -110 whilst initialising SD cards3c2440-sdi s3c转载 2012-05-30 21:16:00 · 1851 阅读 · 0 评论 -
android EVENT
linux/input.h中有定义,这个文件还定义了标准按键的编码等 struct input_event { struct timeval time; //按键时间 __u16 type; //类型,在下面有定义 __u16 code; //要模拟成什么按键 __s32 value;//是按下还是释放 };type: EV_SYN:同步EV_KEY原创 2012-11-29 12:51:57 · 1003 阅读 · 0 评论 -
binder
Binder 在 linux 中,进程间的通讯机制有很多种,例如管道(pipe)、消息队列(message queue)、信号(signal)、共享内存(share memory)、套接字(socket)等方式,他们都是可以实现进程间通讯。但是,在 Android 终端上的应用软件的通信几乎看不到这些 IPC 通信方式,取而代之的是 Binder。Android 同时为转载 2012-12-03 16:24:22 · 663 阅读 · 0 评论 -
a2dp
dfsdfsd\external\bluetooth\bluedroid\audio_a2dp_hw\audio_a2dp_hw.cpp编译生成audio.a2dp.default.so,主要实现a2dp做为设备的功能struct audio_module HAL_MODULE_INFO_SYM = { .common = { .tag = HARDWARE_M原创 2013-04-16 12:37:04 · 6221 阅读 · 1 评论 -
移动开发:Android Media (Audio) Framework Analyse
移动开发:Android Media (Audio) Framework Analyse[ 来源:优快云 | 作者:优快云 | 时间:2013-1-5 | 去论坛]Copyright:http://blog.youkuaiyun.com/myzhzygh/article/details/74296871 Android多媒体框架结构And转载 2013-07-05 16:45:13 · 786 阅读 · 0 评论 -
android framework audiofocus机制
android framework audiofocus机制(2012-11-23 21:18:11)转载▼http://blog.sina.com.cn/s/blog_645b74b90101e74f.html数据结构AudioService中维护了一个栈:Stack mFocusStack栈里面的记录FocusStackEntry定义如下:转载 2013-07-05 16:47:00 · 1271 阅读 · 0 评论 -
Android开发:关于Android Settings中的八个问题
Android开发:关于Android Settings中的八个问题2013年05月17日 11:05 供稿中心: 互联网运营部摘要: Android开发:关于Android Settings中的八个问题 - Lefter本问将回答以下八个问题,如有错误,敬请批评指正,不胜感激!(注:本文中的Settings解析基于andr转载 2013-07-05 16:43:15 · 873 阅读 · 0 评论 -
BT 协议调用流程
android 4.2后的BT协议由原来的bluze更换成了brodcom的协议,代码路径:external/bluetooth/bluedroid/ 该协议与android framework层是通过JNI来相互调用 android的大部份BT协议或功能都在Bluetooth.apk中实现 源码路径:packages/apps/Bluetooth JNI原创 2013-06-25 14:05:52 · 2117 阅读 · 0 评论 -
C调用C++接口
在android系统中C++层可通过以下接口输出调用栈:android::CallStack stack;stack.update();stack.dump(""); 但是如果在调用C层(linux用户空间)代码,如果也想使用C++层CallStack类的接口来输出调用栈,则需要做出以下修改:1:修改CallStack源文件 主要是将相关接口封装成一个C程序可调原创 2013-06-25 13:35:28 · 1836 阅读 · 0 评论 -
实战Linux Bluetooth编程(三) HCI层编程
实战Linux Bluetooth编程(三) HCI层编程(2009-06-19 12:59:37)转载▼http://blog.sina.com.cn/s/blog_645b74b90101e74f.html标签:it分类: Bluetooth作者:Sam (甄峰) sam_code@hotmail.com(HC转载 2013-07-05 16:49:33 · 1107 阅读 · 0 评论 -
JAVA
域域就是范围的意思 例{}之间,称为一块域,用来描述变量适用范围,全局变量的域是整个类,局部变量只适用于他所在的{}之间。 接口中的域是指: 显式声明的 public final static String NAME;//变量 隐式声明的 String NAME;//变量 接口中的变量默认是public final static 的,因此在interface中声明的变量转载 2013-06-05 20:46:48 · 574 阅读 · 0 评论 -
关于android性能,内存优化
关于android性能,内存优化 转自(http://www.starming.com/index.php?action=plugin&v=wave&tpl=union&ac=viewgrouppost&gid=74&tid=20713&pg=1) 随着技术的发展,智能手机硬件配置越来越高,可是它和现在的PC相比,其运算能力,续航能力,存储空间等都还是受到很大的限制,同时用户转载 2013-06-04 21:32:35 · 738 阅读 · 0 评论 -
知识点
P帧:http://baike.baidu.com/view/189575.htmandroid surfaceflinger研究----显示系统 http://www.cnblogs.com/armlinux/archive/2012/02/29/2396756.html原创 2013-05-03 14:57:39 · 629 阅读 · 0 评论 -
android SD卡自动挂载
http://www.cnblogs.com/jqyp/archive/2012/01/02/2310077.htmlSD card porting一、进程启动和配置文件的分析 vold的全称是volume daemon。实际上是负责完成系统的CDROM, USB大容量存储,MMC卡等扩展存储的 挂载任务自动完成的守护进程。它提供的主要特点是支持这些存储外设的热插拔。在An转载 2013-05-08 10:29:07 · 932 阅读 · 0 评论 -
MediaPlayerService
MediaPlayerService\frameworks\av\include\media\IMediaPlayerService.h\frameworks\av\media\libmedia\IMediaPlayerService.cpp原创 2013-04-16 20:07:51 · 864 阅读 · 0 评论 -
audio
Android4.1 中出现了一个新的类,BinderService,所有的Native Service 都会继承这个类。class BinderService{public: static status_t publish(bool allowIsolated = false) { sp sm(defaultServiceManager());原创 2013-04-16 10:04:29 · 1395 阅读 · 0 评论 -
SD卡操作
初始化:1、初始化读写SD卡的硬件条件(spi接口和其他有用的管腿,如写保护)2、上电延时过程3、复位卡CMD04、激活卡,内部初始化并获取存储卡的类型 CMD1,CMD55,ACMD415、查询OCR,获取卡供电情况CMD586、是否使用CRC CMD597、设置读、写块数据长度,512B,CMD168、读取CSD,获取存储卡的其他参数信息。转载 2012-05-30 21:23:19 · 1905 阅读 · 0 评论 -
ANDROID备份
1、电脑上要安装HTC Sync同步工具;2、准备好第六章介绍到的ADB工具;3、到笔者的网盘下载需要用的工具包,链接地址:http://u.115.com/file/f51cd234bf#Downgrade.zip http://u.115.com/file/f590ac745b#su.rar4、第九章里面,大家应该下载了DHD.rar那个压缩包,里面有recovery.img,提取转载 2012-05-28 23:07:26 · 1407 阅读 · 0 评论 -
Android Sensor传感器系统架构初探
AndroidSensor传感器系统架构初探分类: Android系统 2010-10-15 10:19 5438人阅读 评论(16) 收藏 举报 1. 体系结构2. 数据结构3. 四大函数本文以重力感应器装置G-sensor为例探索Android的各层次结构。1. 体系结构 Android的体系结构可分为4个层次。· 第一层次转载 2012-01-02 09:55:50 · 578 阅读 · 0 评论 -
Android系统的移植要做的两个工作
Android系统的移植的主要目的是为了能在特定的硬件上运行Android系统。而在移植的过程中,一个重要的方面就是把握关键要点,减少工作量。从工作的角度,首先要熟悉硬件抽象层的接口,其次要集成和复用已有的驱动程序,主要的工作量在硬件抽象层的实现中。为了更好地理解和调试系统,也应该适当地了解上层对硬件抽象层的调用情况。 移植方面主要的工作有两个部分: Linux驱动转载 2012-01-02 09:25:01 · 463 阅读 · 0 评论 -
android adb常用指令
android adb常用指令Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。可以通过下列几种方法加入adb:在设备上运行shell命令通过端口转发来管理模拟器或设备从模拟器或设备上拷贝来或拷贝走文件下面对adb进行了介绍并描述了常见的使用.Contents概要发出adb命令查询模拟器/设备实例给转载 2012-01-02 09:07:21 · 460 阅读 · 0 评论 -
Uboot启动参数说明及nfs命令行挂载启动
U-Boot环境变量的解释说明环 境 变 量解 释 说 明bootdelay定义执行自动启动的等候秒数baudrate定义串口控制台的波特率netmask定义以太网接口的掩码ethaddr定义以太网接口的MAC地址boo转载 2012-01-03 10:03:06 · 4459 阅读 · 0 评论 -
video4linux2笔记
video4linux2笔记1 主要使用的操作就是open, close, ioctl2 Querying Capabilities虽然这是个标准,但不是强制性的,因此不同的设备对功能的支持不同,所以地提供一个功能查询机制,而这个功能查询机制应该是必需的。All V4L2 drivers must support VIDIOC_QUERYCAP. Applications转载 2012-01-03 09:53:52 · 708 阅读 · 0 评论 -
Linux设备模型基础---操作函数
关于kref的操作函数初始化?voidkref_init(structkref *kref){atomic_set(&kref->refcount, 1);smp_mb();}注意smp_mb以及smp_mb_*的目的是保证在多核SMP机器上的转载 2012-01-03 09:46:54 · 547 阅读 · 0 评论 -
LDD3学习笔记《三》第四章
一、printk的用法例: printk(KERN_ALERT "Hello,World!\n"); printk的用法与printf的用法差不多,上面的例子改为printf: printf("Hello,World!\n"); 两个的不同点在于:一、printk有个表示日志级别的参数,比如上面的KERN_ALERT。二、printk必转载 2012-01-03 09:44:50 · 534 阅读 · 0 评论 -
linux设备驱动读书笔记
机制:提供什么能力策略:如何使用这些能力在编写驱动时, 程序员应当编写内核代码来存取硬件, 但是不能强加特别的策略给用户, 因为不同的用户有不同的需求. 驱动应当做到使硬件可用, 将所有关于如何使用硬件的事情留给应用程序编写驱动需要注意的地方:必须注意并发/重入的问题内核空间和用户空间不能直接操作,必须通过特别的函数(copy_from_user/copy_to_user)来操转载 2012-01-03 09:37:20 · 2211 阅读 · 1 评论 -
分析Android 根文件系统启动过程(init守护进程分析)
今天开始分析Android 根文件系统启动过程。在Android系统启动时,内核引导参数上一般都会设置“init=/init”,这样的话,如果内核成功挂载了这个文件系统之后,首先运行的就是这个根目录下的init程序。这个程序所了什么呢? 我们只有RFSC(Readthe Fucking Source code)!!init程序源码在Android官方源码的system/core/ini转载 2012-01-02 08:54:13 · 587 阅读 · 0 评论 -
u-boot向linux内核传递启动参数
U-BOOT 在启动内核时,会向内核传递一些参数.BootLoader 可以通过两种方法传递参数给内核,一种是旧的参数结构方式(parameter_struct),主要是 2.6 之前的内核使用的方式。另外一种就是现在的 2.6内核在用的参数链表 (tagged list) 方式。这些参数主要包括,系统的根设备标志,页面大小,内存的起始地址和大小,RAMDISK的起始地址和大小,压缩的RAMDIS转载 2012-01-03 10:04:36 · 1381 阅读 · 0 评论