自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

转载 qcom Android Camera 运行流程

[-]总体架构CameraService服务的注册client端的应用层到JNI层Camera App---JNIclient到service的连接HAL层驱动层又见用户空间1.总体架构Android Camera 框架从整体上看是一个 client/service 的架构,有两个进程:client 进程,可以看成是 AP 端,主要包括 Java 代码与

2017-02-09 17:07:01 3589

转载 高通平台MSM8916LCM模块移植(一)-bootloader部分

目录(?)[-]LK中LCM启动流程oem_panel_selectmdss_dsi_initializeread_panel_id此次移植打算分成两个模块来说,bootloader部分和kernel部分。在实际的移植调试过程中也是这么分成了两个部分分别调试。           高通平台中的bootloader叫做LK(Little Kernel,对于LCM来说L

2016-07-31 21:14:26 3031

转载 Android 4.0 Camera架构分析之Camera初始化

Android Camera 采用C/S架构,client 与server两个独立的线程之间使用Binder通信,这已经是众所周知的了。这里将介绍Camera从设备开机,到进入相机应用是如何完成初始化工作的。    首先既然Camera是利用binder通信,它肯定要将它的service注册到ServiceManager里面,以备后续Client引用,那么这一步是在哪里进行的呢?细心的人会发现

2014-11-18 10:54:02 840

转载 android sensor架构详解

个人比较喜欢这个图,我们就按照这个图从Applications层一直分析到底层driver。第一篇:sensor架构之app层第二篇:sensor架构之Framework层第三篇:sensor架构之Libraries层第四篇:sensor架构之HAL层第五篇:sensor架构之Driver

2014-11-03 11:25:35 900

转载 android的休眠和唤醒流程

android休眠唤醒流程:power按键事件上报给android系统,最终由windownmanager接收到,当有按键事件时判断是否需要休眠后唤醒系统,然后调用powermanager系统服务去写/sys/power/state节点.            此节点的写函数里判断收到的内容,来执行android的休眠early_suspend/唤醒late_resume流程.andr

2014-10-23 19:06:50 4579

转载 android从应用到驱动之—camera(2)---cameraHAL的实现

本文是camera系列博客,上一篇是:android从应用到驱动之—camera(1)---程序调用流程 本来想用这一篇博客把cameraHAL的实现和流程都给写完的.搞了半天,东西实在是太多了.这篇先写cameraHAL的基本实现框架,下一篇在具体写camerahal的流程吧.cameraHAL的实现:对于初学者来说,最大的疑问是系统是如何调用hardware的.这里就以

2014-10-23 16:06:37 6420

转载 android从应用到驱动之—camera(1)---程序调用流程

一、开篇写博客还得写开篇介绍,可惜,这个不是我所擅长的.就按我自己的想法写吧.话说camera模块,从上层到底层一共包含着这么几个部分:1、apk------java语言2、camera的java接口----java语言3、camera的java接口的具体实现,即所谓的JNI-----(java—>C++)4、camera客户端-----C++语言5、camera服

2014-10-23 15:34:18 1868

转载 MTK(44)

MTK(44)

2014-06-12 15:17:09 877

转载 关于LCD好的文章

http://blog.csdn.net/tianshiyalin/article/details/17686983

2014-06-10 09:10:29 811

转载 platform_get_resource

阅读aml_i2c的代码时,发现在probe函数直接调用了platform_get_resource获取io内存,但是却没有做任何检测!probe函数怎么知道这块io内存属于这个驱动呢?后来发现原来在arch目录下的对应目录里面有个board-8726m-refa00.c文件,这个文件里面声明了一个platform设备的资源数组platform_devs,原型如下:static str

2014-05-19 11:31:26 1069

转载 MT6589充电模块浅析

MT6589充电目录(?)[+]1. 原理图:VBUS:USB正极VCDT:充电电压检测脚ISENSE:充电电流检测电阻的正极BATSNS:充电电流检测电阻的负极BAT:电池正极引脚BAT_ON:电池NTC(热敏电阻)引脚2.软件架构3.充电电流、电压的计算通过读取PMIC的寄存器直接可读到VBAT、VISENSE、VCh

2014-04-17 14:07:01 1800

转载 sysfs API总结

sysfs是用于表现设备驱动模型的文件系统,它基于ramfs。要学习linux的设备驱动模型,就要先做好底层工作,总结sysfs提供给外界的API就是其中之一。sysfs文件系统中提供了四类文件的创建与管理,分别是目录、普通文件、软链接文件、二进制文件。目录层次往往代表着设备驱动模型的结构,软链接文件则代表着不同部分间的关系。比如某个设备的目录只出现在/sys/devices下,其它地方涉及到它时

2014-03-27 10:17:03 1198

转载 linux驱动学习之内核线程分析

内核线程和普通的进程间的区别在于内核线程没有独立的地址空间,它只在 内核空间运行,从来不切换到用户空间去;并且和普通进程一样,可以被调度,也可以被抢占。 一 线程的创建[plain] view plaincopyprint?     struct task_struct *kthread_create(int (*threadfn)(void *data

2014-03-27 09:17:06 6309

转载 Mtk android LCD开机启动过程

/bootable/bootloader/uboot/arch/arm/lib/board.c  void start_armboot (void){           …...........省略部分函数//功能函数初始化 即函数队列 LCD驱动相关挂载调用   for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++

2014-03-21 17:26:27 5989

转载 Porting Tp 问题总结

首先是在Porting Tp驱动的时候要注意几个重要的的几个文件(1)配置文件的设置ProjectConfig.mk       //mediatek/config/项目名/ProjectConfig.mk主要配置的是所要porting tp 驱动的文件名 如CUSTOM_KERNEL_TOUCHPANEL =  xx 单款tp的话跟一个文件驱动就行了,如果做的多款tp的话就跟多个

2014-03-21 11:33:07 4035

转载 mtk lcd调试问题总结

LCD会注意到一下问题:1.gamma是否超标。2.刷新率是否合适。3.flicker现象是否严重或能否轻易察觉。4.ESD是否合格。5.背光调节是否存在问题,特别是自动调节是否有不平滑现象,或者亮度调定某个范围屏幕出现闪烁等。6.图片显示是否有失真的现象。7.是否有噪点等问题。接口类型:1.并行接口:MCU接口,LCD模组须有自己的GRAM。R

2014-03-21 11:18:17 5889

转载 MTK BT驱动调试总结

首先在init.Project.rc里面找例如找fm bt wifi gps等等。。。    # STP, WMT, GPS, FM and BT Driver    insmod /system/lib/modules/mtk_stp_core.ko    insmod /system/lib/modules/mtk_stp_uart.ko    insmod /system/l

2014-03-21 11:05:59 6555

转载 Linux设备模型之input子系统详解 .

本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/------------------------------------------一:前言在键盘驱动代码分析的笔记中,接触到了input子系统.键盘驱动,键盘驱动将检测到的所有按键都上报给了input子系统。Input子系统是所有I/O设备驱动的中间层,为上层提供了一个统

2014-02-24 09:29:19 1174

转载 spin_lock & mutex_lock的区别? .

本文由该问题引入到内核锁的讨论,归纳如下为什么需要内核锁?多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是可以访问所有内核数据的,因此要对共享数据进行保护,即互斥处理有哪些内核锁机制?(1)原子操作atomic_t数据类型,atomic_inc(atomic_t *v)将v加1原子操作比普通操作效率要低,因此必要时才使用,且不能与普通操作混

2014-02-14 09:54:03 22605

转载 Android4.x Power按键的处理 : KEYCODE_POWER .

转自:http://blog.csdn.net/myarrow/article/details/81437171. 简介        Android4.x在Framework的PhoneWindowManager对Power(KeyEvent.KEYCODE_POWER)和Home(KeyEvent.KEYCODE_HOME)键做了处理,不会把这些键传送上层应用程序。

2013-12-25 09:32:50 4722

转载 Android实现开机自动运行程序

有些时候,应用需要在开机时就自动运行,例如某个自动从网上更新内容的后台service。怎样实现开机自动运行的应用?在撰写本文时,联想到高焕堂先生以“Don't call me, I'll call you back!”总结Android框架,真是说到点子上了。理解这句话的含义,许多有关Android平台上实现某种功能的问题,都能迎刃而解。使用场景:手机开机后,自动运行程序,在屏幕上显示"Hel

2013-12-23 09:22:52 963

转载 给android添加系统属性:Settings.system和SystemProperties

SystemProperties與Settings.System 1 使用 SystemProperties.get如果属性名称以“ro.”开头,那么这个属性被视为只读属性。一旦设置,属性值不能改变。  如果属性名称以“persist.”开头,当设置这个属性时,其值也将写入/data/property。 在c++中就是对应JAVA的两个函数就是property_set, p

2013-12-18 09:26:45 4701

原创 ANDROID 背光调节

Android的屏幕亮度好像在2.1+的时候提供了自动调节的功能,所以,如果当开启自动调节功能的时候, 我们进行调节好像是没有一点作用的,这点让我很是无语,结果只有进行判断,看是否开启了屏幕亮度的自动调节功能。/**     * 判断是否开启了自动亮度调节     *      * @param aContext     * @return     */    publ

2013-12-06 11:54:32 6138 2

转载 linux输入子系统

输入子系统由驱动层、输入子系统核心、事件处理层三部分组成。一个输入事件,如鼠标移动、键盘按下等通过Driver->Inputcore->Event handler->userspace的顺序到达用户控件的应用程序。    驱动层:将底层的硬件输入转化为统一事件形式,想输入核心(Input Core)汇报。 输入子系统核心:承上启下。为驱动层提供输入设备注册与操作接口

2013-11-19 13:28:01 1551

转载 修改linux/Android启动logo

[-]一修改uboot显示开机logo二修改由kernel显示的开机logo安装pngtopnm制作logo图片制作ppm格式的图片拷贝文件到相应目录内核的配置三修改由Android系统显示的静态开机画面制作要显示的图片将图片转换为raw格式将raw格式转化为rle文件将initlogorle拷贝到文件系统中特别说明四修改由Android显示的android文字开机

2013-11-18 11:30:36 1402

转载 Android模拟器学framework和driver之battery & backlight-----5. backlight in linux .

前面介绍了battery的相关的东西,现在我们来介绍下backlight模块,背光主要是用来调节显示屏亮度的,一般背光都是用PWM控制的,调节占空比达到改变有效电压值来调节光的强弱。背光的移植在linux中虽然不是那么难,但是背光这个组件对我们嵌入式设备的续航能力有很大的影响,一般背光上面加的电压会有20多的电压,所以这部分会很耗电的,相当于是开了个大灯泡。现在我们先来看下android

2013-11-13 18:58:08 1789

转载 Android Sensor 架构深入剖析

作者:倪键树,华清远见嵌入式学院讲师。1、Android sensor架构 Android4.0系统内置对传感器的支持达13种,它们分别是:加速度传感器 (accelerometer)、磁力传感器(magnetic field)、方向传感器(orientation)、陀螺仪(gyroscope)、环境光照传感器(light)、压力传感器(pressure)、温度传感器(temperat

2013-11-12 14:55:48 1927 1

转载 Android中LCD背光驱动

分类: Linux驱动 Android系统 2013-06-17 16:28 287人阅读 评论(0)收藏 举报目录(?)[+]Android的SettingAndroid的背光JNI层Android的背光HAL层Linux的背光内核层Linux的背光驱动层总结其实Android的底层就是Linux,所以其驱动本质就是Linux驱动,但是

2013-11-05 17:56:17 10108 5

转载 wince 蓝牙驱动(1) .

【转】wince 蓝牙驱动(1)下面是WinCE中蓝牙协议栈的架构图:可以看到,HCI传输层以上的协议层全部由WinCE实现了,所以蓝牙模块只需要实现了基带层和链路管理层,并提供HCI传输接口给WinCE就可以了。WinCE支持使用USB、UART、SDIO等接口的蓝牙模块。开发板上使用的是CSR-BC4-EXT-C2-PA蓝牙模块,模块接在串口0上。使用CSR的B

2013-10-14 10:13:35 1712

转载 GPS Intermediate Driver

GPS Intermediate Driver自从 Windows Mobile 5.0 引进了 GPS Intermediate Driver(GPS 中间驱动程序,以下简称 GPSID),开发基于 GPS(Global Positioning System,全球定位系统)的 Windows Mobile 应用程序变得简单多了。原因是它在开发人员编写的应用程序和 GPS 设备之间加入了一

2013-09-29 10:09:26 880

转载 触摸屏驱动学习

第一:四线式电阻式触摸屏原理   S3C2440而言:在直接试用触摸屏的是时,引脚XP、XM、XP和YM被用于和触摸屏直接相连。只剩下AIN[3:0]共4个引脚用于一般的ADC输入;当不使用的时候,XP、XM、XP和YM也可用于一般的ADC输入。   S3C2440的触摸屏接口可以驱动成四线电阻触摸屏,四线触摸屏的等效电路如图:14.4所示。图中粗线表示相互绝缘的两层导电层,当

2013-08-30 12:14:24 1740

原创 Windows Embedded CE 中断结构分析

Windows Embedded CE 中断结构分析关键字:WinCE,中断,体系,结构摘要:本文主要以WinCE  .NET 5.0为操作系统平台,ARM为硬件平台,分析了WinCE下中断的结构与实现方式作者:ETDrawer@ARMCE前言  在嵌入式系统当中,对于中断的处理是非常重要的一部分内容。许多外围设备都需要通过中断来实现自己的功能或

2013-08-12 10:53:39 1312

转载 LCD驱动学习

[-]S3C2440上LCD驱动 FrameBuffer实例开发讲解嵌入式Linux下S3C2410的调色板彩色显示1.S3C2440上LCD驱动 (FrameBuffer)实例开发讲解其中的代码也可直接参考:drivers/video/s3c2410fb.c 以下为转载文章,文章原地址:http://blog.csdn.net/jianyun123/a

2013-08-12 10:43:33 1636

转载 S3c2440A平台HIVE注册表+binfs的实现 .

今天总结一些实现的过程和原理。我的例子是基于samsung S3C2440A+samsung ONENAND+WinCE5.0的,开发平台是platform builder 5.0,首先我们基于RAM register的image已经可以正常跑起来了,Flash除了放置image外其他的空间为用户提供文件系统,这部分的驱动程序是用三星的PocetStoreII15。先来回味一下底层的东

2013-07-24 17:57:02 888

转载 LCD驱动调试

LCD驱动调试porority of HSYNC, VSYNC is very important in LCD debug follow转载:http://blog.csdn.net/linphusen/article/details/6385175Steps for Debug1) check the power supply is correct2) ch

2013-07-15 11:07:24 2254

转载 Windows CE系统开发,BSP包中的几个常见文件详解

Windows CE系统开发,BSP包中的几个常见文件详解BSP介绍(Board Support Package)是介于底层硬件和上层软件之间的底层软件开发包,它主要功能为屏蔽硬件,提供操作系统及硬件驱动,具体功能包括:(1)      单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支持;(2)      为操作系统提供设备驱动程序和系统中断服务程序;(3)

2013-06-27 15:48:35 840

转载 移动平台驱动调试流程(二)--外设调试阶段

外设最主要的就是LCD、TP、Camera,下面就分别说下需要注意的地方。         LCD调试:        虽然我们多数驱动人员最开始都是从调试LCD开始入手的,但准确来说,LCD算是外设当中最难调试的东西了,之所以这么说,是因为LCD涉及到的接口类型和各种显示问题最多了。其中有CPU接口、RGB和Mipi之类的接口。那么,遇到这些接口怎么办?         其实我们现在

2013-06-26 14:16:14 1601

转载 wince编译过程

在WinCE系统中,当我们完成了相关的开发和系统定制工作以后,会编译WinCE系统,最后生成NK.bin和NK.nb0。我现在用WinCE6.0在自己的PC上面编译一次用时19分16秒(有一天无聊,就测了一下)。下面介绍一下WinCE系统的编译过程,大致分为4个阶段:编译阶段(Compile phase),系统产生阶段(Sysgen phase),文件拷贝阶段(Release copy pha

2013-06-05 13:36:30 1800

转载 ince下dirs文件和source文件(一)

1. Dirs文件  关于Dirs文件,就是指定要编译的路径,这个地球人都知道。还是简单介绍一下。按照文档上面介绍有三种定义:DIRS,DIRS_CE和OPTIONAL_DIRS。  DIRS:就是指定要编译的目录。  DIRS_CE:只有目录下的源代码用于WinCE的映像文件时,才编译该目录。  OPTIONAL_DIRS:指定可以选择编译的目录。

2013-06-05 13:30:18 749

转载 LCD 驱动之硬件时序

背景知识 1. LCD工作的硬件需求:   要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的形式与LCD玻璃基板制作在一起,而LCD控制器则是由外部的电路来实现,现在很多的MCU内部都集成了LCD控制器,如S3C2410/2440等。通过LCD控制器就可以产生LCD驱动器所需要的控制

2013-06-04 16:18:36 2109

C++编程思想

主要介绍C++编程思想,有10章,分别是: 对象的演化、 数据抽象、隐藏实现、 初始化与清除、函数重载与缺省参数、 输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数

2012-08-22

空空如也

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

TA关注的人

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