自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(87)
  • 资源 (1)
  • 收藏
  • 关注

转载 我对Linux用户空间与内核空间数据传递的几点理解和总结

转自:http://hi.baidu.com/zengzhaonong/item/3182da4b38865f0fc1161393(1)让我们忽略Linux对段式内存映射的支持。在保护模式下,我们知道无论CPU运行于用户态还是核心态,CPU执行程序所访问的地址都是虚拟地址,MMU 必须通过读取控制寄存器CR3中的值作为当前页面目录的指针,进而根据分页内存映射机制(参看相关文档)将该虚拟

2013-08-10 15:53:07 412

转载 Linux内核空间和用户空间详解

转自:http://soft.chinabyte.com/os/197/12334697.shtmllinux驱动程序一般工作在内核空间,但也可以工作在用户空间。下面我们将详细解析,什么是内核空间,什么是用户空间,以及如何判断他们。  Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,Linux的虚拟地址空间也为0~4G.Linux内核将这4G字节的空间分为两部分

2013-08-10 15:52:02 409

转载 Linux用户空间与内核空间

Linux用户空间与内核空间转自:http://blog.csdn.net/f22jay/article/details/7925531Linux 操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,两者不能简单地使用指针传递数据,因为Linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。

2013-08-10 15:48:07 352

转载 android驱动开发---效率与工具

转自:http://www.360doc.com/content/12/0225/15/8204997_189530723.shtml一、在驱动开发中,效率很重要。1.锁的选用     a)免锁算法 >> 细颗粒的锁 >> 粗颗粒的锁。     b)中断与轮询         通常情况下,中断方式比轮询更有效率。但如果数据量非常非常大,一个数据没有处理完,下一次数据

2013-08-10 11:44:58 363

转载 .bashrc和.bash_profile的区别

/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell 的设置.其中的设置对所有的用户有用; /etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.其中的设置仅对当前用户有用; ~/.bash_profil

2012-10-18 15:14:39 330

原创 用tslib实现Android触摸屏校准

1,触摸屏校准通用方法 主要采用以下公式,实现触摸屏校正,其中XL, YL是显示屏坐标,XT, YT是触摸屏坐标, XL = XT*A+YT*B+C; YL = XT*D+YT*E+F;    公式(1) 由于具体计算是希望是整数运算,所以实际中保存的ABCDEF为整数,而增加一个参数Div, 由以下公式实现: XL = (XT*A+YT*B+C) / Div; YL =

2012-03-02 21:00:12 894

原创 android proc 进程信息解析

如何查看ANDROID进程信息呢,可以先进入ADB SHELL,然后在PROC文件夹下,有很多对应进程ID号的子文件夹,进入对应的文件夹内,可以看到有以下信息,就可以查询到你的进程信息了。参数如下:/proc//maps查看进程的虚拟地址空间是如何使用的。该文件有6列,分别为:地址:库在进程里地址范围权限:虚拟内存的权限,r=读,w=写,x=,s=共享,p=私有;偏

2012-03-02 20:57:22 92

原创 GIT原理,知其然,知其所以然

GIT版本控制工具原理仓库的组织结构及相关概念仓库的组织管理形式这部分,应该说是版本管理工具设计上最核心的内容。SVN属于中心式的仓库管理,完整的仓库数据,统一维护在服务器端的仓库中,对于客户端来说,本地取得的数据不是完整的仓库,只是仓库中特定版本的部分或全部数据,同时,客户端还负责维护本地数据的变更情况,在客户端并不拥有仓库完整的历史数据。本地的工作树和仓库是相对独立的。对于Gi

2012-02-11 20:04:41 5238 3

原创 git -svn 在Ubuntu下的安装与应用

Git是一款分布式版本管理工具,由linux的缔造者Linus Torvalds设计并实现,具体关于Git的介绍和使用方法可参见其官方站。这里要说的是Git是如何做到既可以管理好本地代码又可以与已有的SVN中心库进行同步的。1、安装git-svn默认包含在Git的安装包中,不过在Ubuntu中,git-svn是作为一个独立的Package需要额外安装的

2012-02-11 17:19:00 440

原创 如何在svn系统中使用git

如果正在使用svn,打算换到git,又暂时不想放弃已有的svn代码库,可以选择git-svn。说一说我自己从svn到git的经验吧。开始安装最新版本的git,从git 1.5.3以后支持git-svn,git和svn的配合就要借助这个功能。安装完毕后要做一些简单的配置。最直接的做法就是创建修改~/.gitconfig。下面是我的.gitconfig[user]

2012-02-11 17:01:35 326

转载 git 实用积累---git svn

1,  Git SVN 工作流程 尽管你可以从网上找到成千上万篇关于Git和git-svn,  但是本文主要介绍如何在一个以svn作为版本管理软件的项目里使用git。(假如你已经有了git-svn工具, 那我们就开始用git吧!)       先介绍些背景知识, Git 是 Linus Torvalds 为Linux内核开发的一套版本控制软件。他对版本控制有些特殊的要求,但是没有一个能满足他的

2012-02-10 21:07:51 3672

原创 android屏幕方向调整

屏是LANDSCAPE的,要让它默认显示为PORTRAIT.1.kernel里要旋转FrameBuffer.  启动参数里加入fbcon=rotate:1    (0:正常屏; 1:顺时钟转90度; 2:转180度; 3:顺时钟转270度;)最后生成的autoconf.h里有类似项:#define CONFIG_CMDLINE "console=ttySAC0,115200 fbc

2012-01-04 17:45:53 3402

原创 Android系统的HAL——Mapper.cpp

该文件中的几个主要函数是gralloc_module_t结构函数指针的具体实现。struct private_module_t HAL_MODULE_INFO_SYM = {    base: {        common: {            tag: HARDWARE_MODULE_TAG,            version_major: 1,

2012-01-04 17:34:28 588

原创 Android系统的HAL ——Framebuffer.cpp

Framebuffer.cpp就是以前的EGLdisplaysurface.cpp改进版1、int fb_device_open(hw_module_t const* module, const char* name,        hw_device_t** device)1)gralloc_open(module, &gralloc_device);2)初始化fb_contex

2012-01-04 17:31:44 1016

原创 LCD屏的调试注意事项

1. Pix clock是否在规定的范围内。2. Pclk是否极性正确。上升沿还是下降沿。3. 变频引起的闪屏问题。可以通过锁定频率来试验是否是变频引起。

2012-01-04 17:18:17 1325 2

转载 Android下Java通过JNI访问硬件

view plainJava code    package xxxxxxx.xx;    import android.app.Activity;  import android.os.Bundle;  import android.util.Log;    public class I2cRadioTest extends Activity {      private stati

2012-01-04 16:58:42 1488 2

转载 android访问i2c

不知道该写点什么,今天回了个帖,就粘这吧,留个念想。view plainclass I2c {  public native int open(String path);  public native int read(int fileHander, int slaveAddr, int buf[], int bufLen);  public native int wr

2012-01-04 16:58:02 2144 2

转载 Android平台开发-Android keypad map-Android按键事件

http://hi.baidu.com/419836321/blog/item/28b59fd4601bb4de51da4bb6.html一、Android底层按键事件处理过程    在系统启动后,在文件。。。中,android 会通过    static const char *device_path = "/dev/input";     bool Ev

2012-01-04 16:45:34 592

转载 Android Make脚本的简记

http://hi.baidu.com/419836321/blog/item/3c0dd50eee52a0306159f36c.html内容提要文档简要整理Android的make脚本的内容。以供备忘和参考。  1.    Build LayersBuild Layers描述的是产品的硬件配置情况,据此make时选择不同的配置和模块。按照从上到下的顺序,Build

2012-01-04 16:44:21 812

转载 Android的传感器HAL层的书写---基础篇

http://www.linuxidc.com/Linux/2011-09/43681.htm关于传感器,大家在日常的生活中用的很多。比如楼宇的楼梯灯,马路上的路灯等等。那么我们手机里的传感器又可以起到哪些作用呢?现在看下我们的Android中给提供了哪些吧。有加速度传感器,磁场,方向,陀螺仪,光线,压力,温度,接近传感器。---------------------------

2012-01-04 16:41:07 481

转载 Android 上层界面到内核代码的完整的流程分析,以alarm为例子

http://blog.csdn.net/k229650014/article/details/6729483很久之前写的一个流程文档,从上层界面一直调用到内核的过程,最近同事跟我要,我看了下又在整理了下,纯属个人分析(不过都运行验证过),不对的请大牛指出Alarm 调用流程,alarm的流程实现了从上层应用一直到下面driver的调用流程,下面简单阐述:

2012-01-04 16:38:58 529

转载 Android HAL实例解析

http://hi.baidu.com/419836321/blog/item/9104c7a8907682e61e17a2c9.html一、概述 本文希望通过分析台湾的Jollen的mokoid 工程代码,和在s5pc100平台上实现过程种遇到的问题,解析Andorid HAL的开发方法。二、HAL介绍现有HAL架构由Patrick Brady (Google

2012-01-04 16:16:53 314

转载 Linux I2C核心、总线与设备驱动

本章导读I2C总线仅仅使用SCL、SDA两根信号线就实现了设备之间的数据交互,极大地简化对硬件资源和PCB板布线空间的占用。因此,I2C总线被非常广泛地应用在EEPROM、实时钟、小型LCD等设备与CPU的接口中。Linux定义了系统的I2C驱动体系结构,在Linux系统中,I2C驱动由3部分组成,即I2C核心、I2C总线驱动和I2C设备驱动。这3部分相互协作,形成了非常通用、可适应性很强

2011-12-30 22:00:09 900

转载 android访问i2c&&Android下Java通过JNI访问硬件

http://blog.csdn.net/yanjiashang/article/details/6791830-android访问i2cclass I2c {  public native int open(String path);  public native int read(int fileHander, int slaveAddr, int buf[],

2011-12-29 17:06:53 1450 1

转载 Android中G-Sensor相关流程

http://apps.hi.baidu.com/share/detail/233118821.使G-sensor正常工作需要做的事:G-sensor driver文件包括:driver/i2c/chips/lis331dl.cdriver/i2c/chips/sensorioctl.hinclude/linux/lis331dl.h并在/kernel/

2011-12-24 15:59:10 640

转载 Android触摸屏输入系统

http://blog.csdn.net/zhiyu_jiang/article/details/6845402 1.触摸屏硬件原理1.1电阻触摸屏    中断产生。触摸屏芯片根据触摸按下时电阻分压值发生变化而产生中断,该中断输入给CPU。产生的条件很简单,主要有VDD,GND信号即可。因此,我们在调试时,可以在没有驱动的情况下去测量中断脚,是否在有触摸时发生变化,以前验证模块

2011-12-24 13:54:44 383

原创 高通Android平台下关于display部分的几个关键问题

显示部分的几个问题这几天通过实际测试澄清了一下,主要是下图中各个模块的使用状况以及HAL层几个模块的调用流程。以问题的方式描述如下:1、Ap是怎么进行显示的?Surfaceflinger负责所有上层的显示处理,对于AP(2D或是3D的应用程序)而言,只要到surfaceflinger中创建surface,设置好参数,接下来都是统一交给surfaceflinger进行处理2、Surfac

2011-12-24 12:49:28 782

转载 浅谈Android系统开发中LOG的使用

http://blog.csdn.net/luoshengyang/article/details/6581828 在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录。在Android系统中,提供了简单、便利的LOG机制,开发人员可以方便地使用。在这一篇文章中,我们简单介绍在Android内核空间和用户空间中LOG的使用和查

2011-12-23 15:48:28 503 1

转载 Android触摸屏输入系统

http://blog.csdn.net/zhiyu_jiang/article/details/6845402  1.触摸屏硬件原理1.1电阻触摸屏    中断产生。触摸屏芯片根据触摸按下时电阻分压值发生变化而产生中断,该中断输入给CPU。产生的条件很简单,主要有VDD,GND信号即可。因此,我们在调试时,可以在没有驱动的情况下去测量中断脚,是否在有触摸时发生变化,以前验

2011-12-23 15:46:22 351

转载 请把Camera hold住 - Android高通平台调试Camera驱动全纪录

http://blog.csdn.net/qianjin0703/article/details/6738490 项目比较紧,3周内把一个带有外置ISP,MIPI数据通信,800万像素的camera从无驱动到实现客户全部需求。1日 搭平台,建环境,编译内核,烧写代码。我是一直在Window下搭个虚拟机登服务器搞开发的,对Linux系统环境实在无爱,每每一到项目刚开始要搭环境

2011-12-23 15:34:59 681

原创 让adb logcat打印内核调试信息

在默认情况下,adb logcat只能显示应用程序的调试信息,我把logcat.cpp修改了一下,让它同时可以打印内核调试信息:修改的文件:system/core/logcat/logcat.cpp1、首先先加入头文件#include //add by 2、定义所使用的TAG#define KERNEL_TAG "Kernel"

2011-12-22 16:51:46 2684 2

转载 使用logwrapper工具将可执行程序的输出写入日志系统

在init进程执行动作(action)或启动服务(service)时,默认已将标准输入、标准输出、标准错误从定向到/dev/__null__这个“无底洞”节点,所以任何的输出都会被忽略,但有时我们确实是想把一些执行文件的输出记录下来以便我们进行分析,这里logwrapper这个工具可以派上用场了。该工具的大致实现思路是:logwrapper程序会开辟一个子进程来执行我们的可执行文件,父

2011-12-22 15:08:58 579

转载 Cscope的使用(领略Vim + Cscope的强大魅力)

http://blog.csdn.net/dengxiayehu/article/details/63302001、Cscope介绍        Cscope是类似于ctags一样的工具,但可以认为她是ctags的增强版,因为她比ctags能够做更多的事。在Vim中,通过cscope的查询,跳转到指定的地方就像跳转到任何标签;她能够保存标签栈,所以通过合适的键盘映射绑定,你能够在函数

2011-12-22 15:06:28 1684

转载 刚进入Android终端即可使用busybox的命令

http://blog.csdn.net/dengxiayehu/article/details/6991894Android中的内置sh可是出了名的难用,只支持少得可怜的常用命令,所以大家一般都喜欢推一个busybox进去以方便使用。具体方法请参见:在Android模拟器中安装busybox这篇文章。但是这里又出现一个问题就是,就是我们每次adb shell进入Android

2011-12-22 15:04:18 680

转载 目标文件格式分析工具: ar,nm,objdump,objcopy,readelf

http://blog.csdn.net/ldf198312/article/details/6679854如果普通编程不需要了解这些东西,如果想精确控制你的目标文件的格式或者你想查看一下文件里的内容以便作出某种判断,那么你可以看一下下面的工具:ar,nm,objdump,objcopy。具体用法请参考man在线手册。ar基本用法    ar命令可以

2011-12-21 16:47:07 349

转载 Android-2.2display系统介绍-SW架构

http://blog.csdn.net/ldf198312/article/details/6732207一、Overview上图的原型取自高通的文档,由于原图无法描述现有的架构,我在原图的基础了做了些修改,主要是增加了overlay部分,另外其他部分根据现有的软件也做了些许改动。下面先对上图做个大概的介绍,后面会针对重点部分做详细的分析。最上面一层为应用程序

2011-12-21 16:43:20 375

转载 LCD 调试总结

porority of HSYNC, VSYNC is very important in LCD debug follow Steps for Debug1) check the power supply is correct2) check the clock for LCD is correct and output normally3) check the CPU si

2011-12-21 09:59:59 833

转载 MSM7X平台LCD_PCLK的设置

http://blog.csdn.net/qq413187589原始代码中Pclk设置为8M但对于320*480的lcd需要提高到10M左右。于是直接修改bootloader和kernel中的两处lcdc_clock_init(8000000);pinfo->clk_rate = 8000000;下载后开机失败,打印log显示:Can't set MDP LCDC

2011-12-20 20:49:36 637

转载 i2c 子系统

http://blog.csdn.net/gaomaolin_88_163/article/details/6719130#commentscl===============================本文系本站原创,欢迎转载!转载请注明出处:http://blog.csdn.net/gdt_a20===============================

2011-12-19 21:31:35 927 1

转载 于Android LCD和键盘背光亮度

http://blog.csdn.net/sunnytina/article/details/6336889 应用设计1.1 设置进度条范围背光设置是在:设置->声音和显示->亮度,通过进度条来设置的。 文件:packages/apps/Settings/src/com/Android/settings/BrightnessPreference.java

2011-12-19 20:05:16 602

cmd常用命令集锦

dir: 列目录 copy: 复制文件 format: 格式化 等等DOS命令 Windows XP实用"命令集": winver---------检查windows版本 wmimgmt.msc----打开windows管理体系结构(wmi) wupdmgr--------windows更新程序 w --------windows脚本宿主设置 write----------写字板 winmsd---------系统信息 wiaacmgr-------扫描仪和照相机向导 winchat--------xp自带局域网聊天 mem.exe--------显示内存使用情况 msconfig.exe---系统配置实用程序 mplayer2-------简易widnows media player mspaint--------画图板 mstsc----------远程桌面连接 mplayer2-------媒体播放机 magnify--------放大镜实用程序 mmc------------打开控制台 mobsync--------同步命令 dxdiag---------检查directx信息 drwtsn32------ 系统医生 devmgmt.msc--- 设备管理器

2014-03-24

空空如也

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

TA关注的人

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