- 博客(192)
- 资源 (20)
- 收藏
- 关注
转载 camera log分析
一、关于Camera 方向 跟 LCD 方向的配置问题:物理硬件上:因为 sensor 是矩形(长方形),分长和宽,长宽比通常是 4:3,且 sensor 扫描方向都是按长边扫描,以2M芯片为例,芯片从 (1,1) 像素点开始曝光,依次到终点(1200,1600).而 LCD 有两种扫描方式: 沿短边扫描(物理竖屏) 和 沿长边扫描(物理横屏)。沿短边: (1,1) -
2016-09-28 09:11:03
14298
原创 V4L2核心框架分析
驱动的结构------------------------------------------------------1)一个为设备实例定义的,并且包含设备状态信息的结构;2)一种初始化和命令子设备(sub-devices)的方式;3)创建V4L2设备节点(/dev/videoX, /dev/vbiX, /dev/radioX and /dev/vtxX)并且 keeping
2016-09-20 10:25:39
2100
1
原创 camera 笔记
高通新的camera驱动架构设计发生了一些变化,借用互联网上常用的一种结构,大致的原理如此:将camera的所有功能划分为不同的模块,让模块自己来决定自己的事情(高内聚,低耦合),模块需要有统一的接口和格式。模块中有端口,通过端口把模块连接起来,又把模块挂在总线上。每一个端口的连接就是一个流,把这些流用pipeline来管理。每次启动一个camera就创建一个会话,由这个会话来管理此camera的
2016-09-17 11:25:13
4381
转载 如何在qualcomm 8960和8921上使用PWM功能 (GPIO24)
一、PWM 分析1. PWM: Pulse Width Modulator; LPG: Light Pulse Generator; 两者指的是同一东西。 2. PWM driver: /kernel/drivers/mfd/pm8xxx-pwm.c3. 手机中注册路径: /sys/devices/platform/msm_ssbi.0/pm8921-core/pm8xxx
2013-09-10 01:22:44
3113
转载 LINUX内核中的xx_initcall初始化标号
LINUX内核中的xx_initcall初始化标号 田海立@优快云 2011-07-02 LINUX内核中有很多的初始化指示标志postcore_initcall(), arch_initcall(), subsys_initcall(), device_initcall(), etc. 这些起什么作用呢?查阅源代码(android goldf
2013-09-10 01:22:06
874
转载 copy_from_user 详解
copy_from_user函数的目的是从用户空间拷贝数据到内核空间,失败返回没有被拷贝的字节数,成功返回0.这么简单的一个函数却含盖了许多关于内核方面的知识,比如内核关于异常出错的处理.从用户空间拷贝数据到内核中时必须很小心,假如用户空间的数据地址是个非法的地址,或是超出用户空间的范围,或是那些地址还没有被映射到,都可能对内核产生很大的影响,如oops,或被造成系统安全的影响.所以
2013-09-10 01:21:38
1650
转载 Android平台开发-Android keypad map-Android按键事件
一、Android底层按键事件处理过程 在系统启动后,在文件。。。中,android 会通过 static const char *device_path = "/dev/input"; bool EventHub::penPlatformInput(void) res = scan_dir(device_path); 通过
2013-09-10 01:21:22
863
转载 input子系统 KeyPad-Touch上报数据格式与机制
-----------------------------------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://blog.youkuaiyun.com/android_huber交流邮箱:dp.shao@gmail.com--------------------------------------------
2013-09-10 01:21:07
825
转载 Linux中断处理驱动程序编写
本章节我们一起来探讨一下Linux中的中断中断与定时器:中断的概念:指CPU在执行过程中,出现某些突发事件急待处理,CPU暂停执行当前程序,转去处理突发事件,处理完后CPU又返回原程序被中断的位置继续执行中断的分类:内部中断和外部中断内部中断:中断源来自CPU内部(软件中断指令、溢出、触发错误等)外部中断:中断源来自CPU外部,由外设提出请求屏蔽
2013-09-10 01:20:07
875
转载 android 物理按键
关键词:android 按键 矩阵按键 AD按键 平台信息:内核:linux2.6/linux3.0系统:android/android4.0平台:S5PV310(samsung exynos4210)作者:xubin341719(欢迎转载,请注明作者)一、硬件部分:1、矩阵按键、IO按键、AD按键 这个知识相对来说比
2013-09-10 01:19:47
967
转载 android 按键
分析一下 Android 是如何读取按键及Touch Panel 的驱动的。主要在$(ANDROID_DIR)/frameworks/base/libs/ui/EventHub.cpp这个文件中,这是在 HAL 层,将一步步分析 Android 上层是如何接受事件的。 一, 先看一下 Android HALClass EventHub 在 $(ANDROI
2013-09-10 01:18:17
1040
转载 字符设备 register_chrdev_region()、alloc_chrdev_region() 和 register_chrdev()
1. 字符设备结构体 内核中所有已分配的字符设备编号都记录在一个名为 chrdevs 散列表里。该散列表中的每一个元素是一个 char_device_struct 结构,它的定义如下: static struct char_device_struct { struct char_device_struct *next; // 指向散列冲突链表中的下一
2013-09-10 01:18:12
785
转载 IS_ERR
像struct class *cls = class_create();这种语句,其中返回的指针值并不行kmalloc一样这么简单,只判断是否为NULL就可以了,内核是返回其错误值。那么我怎么来判断它呢,总不能用if()来将每个错误例出来吧,这里我们的IS_ERR()宏就发挥作用了。先看源代码,再讲原理,看看内核中的巧妙设计思路。/* include/linux/err.h *
2013-09-10 01:15:28
770
转载 wakelock
Wake lock - wakelock在android的电源管理系统中扮演一个核心的角色,wakelock是一种锁的机制, 只要有task拿着这个锁, 系统就无法进入休眠, 可以被用户态进程和内核线程获得。这个锁可以是有超时的或者是没有超时的, 超时的锁会在时间过去以后自动解锁。如果没有锁了或者超时了, 内核就会启动标准linux的那套休眠机制机制来进入休眠。 wakelock在
2013-09-10 01:15:21
843
转载 linux内核cdev_init系列函数(字符设备的注册)
内核中每个字符设备都对应一个 cdev 结构的变量,下面是它的定义:linux-2.6.22/include/linux/cdev.hstruct cdev { struct kobject kobj; // 每个 cdev 都是一个 kobject struct module *owner; // 指向实现驱动的模块 const
2013-09-10 01:14:51
827
转载 Linux进程管理之进程的终止
内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 进程终止时,一般是调用exit库函数(无论是程序员显式调用还是编译器自动地把exit库函数插入到main函数的最后一条语句之后)来释放进程所拥有的资源。 [cpp] view plaincopy$ man 3 exit
2013-09-10 01:13:21
2145
转载 电源管理之regulator机制流程
电源管理芯片可以为多设备供电,且这些设备电压电流有所同。为这些设备提供的稳压器代码模型即为regulator。下面通过下面三个过程分析regulartor供电机制:1.分析regulator结构体2.regulator 注册过程3.设备使用regulator过程一.分析regulator结构体Regulator模块用于控制系统
2013-09-10 01:13:16
1772
1
转载 Android/Bluetooth 初始化流程
=========================Kernel Space=========================1. Board power initMACHINE_START init_machine = comet_initbt_power_initbluetooth_power2. HCI device/connection manager,
2013-09-10 01:11:33
1377
原创 命令行测试BT,WIFI,Sensor工作状态
//命令行测试wlan//加载驱动#insmod /system/lib/modules/ath6kl/cfg80211.ko#insmod /system/lib/modules/ath6kl/ath6kl_sdio.ko//查看加载的情况root@android:/ # lsmodwlan 205174 0 - Live 0x00000000 (O)cfg802
2013-09-09 15:36:00
2024
转载 Linux下基于bluez与obex的服务
一个服务端需要给对方提供OBEX Object Push服务的通道,所以在打开服务器之前需要确定已经将该服务注册到SDP服务器,Linux下使用sdptool注册该服务的命令为:sdptool add opush; 1.OBEX_Init()用于初始化一个obex instance handle;arg1:OBEX_TRANS_BLUETOOTH用于声明传输协议为bluetooth;
2013-09-06 17:29:07
2913
转载 在Linux中使用蓝牙
一,蓝牙存储设备 蓝牙适配器: CSR蓝牙, USB接口 1,加载蓝牙适配器 插入USB口之后,可以使用lsusb命令,看到: Bus 004 Device 003: ID 1131:1001 Integrated System Solution Corp. 这是,运行hciconfig可以看到: hci0: Ty
2013-09-06 17:29:01
1839
1
转载 YC2440-F移植blueZ
准备工作:a. 在http://www.bluez.org/download/下载 bluez-libs-2.25.tar.gz 和 bluez-utils-2.25.tar.gz压缩包。b.ARM-LINUX-GCC 3.3.2版本,在终端中arm-linux-gcc -v查看。c.我的板子上是扬创出厂时的内核版本2.6.13。 具体步骤:1.重新编译内核开启对蓝牙USB
2013-09-06 17:28:34
830
转载 bluetooth(蓝牙)在S3C2410上的移植
(一) 在Red hat 9上安装Bluez在pc上的安装我参考了O'Reilly的Linux Unwired一书,chapter 7中详细地介绍了linux下的bluetooth的基础知识、安装、配置和使用。安装前必须了解一下bluez的基本结构,直接位于发射传输协议之上的 协议是HCI(host control interface),我的手机和蓝牙GPS用到的高层协议是服务发现协议SDP和
2013-09-06 17:28:30
1539
转载 连接蓝牙设备
当蓝牙SIG(特别兴趣组,由爱立信等厂商组成)成立的时候,其发起者曾经指出,当蓝牙能够被集成入单芯片之中、成本下降到5美元的时候,将得到极大地普及。而今,小小的一个五号电池大小的几十块人民币的东西就可以提供这个功能了,蓝牙也真的进入了我们的生活。利用蓝牙在手机之间传送图片不是什么新鲜事,现在做的是要连接Linux主机和蓝牙手机。15.2.1 蓝牙技术概述蓝牙最早由瑞典的爱立信公司提出,其
2013-09-06 17:28:05
1149
转载 蓝牙安全浅析
越来越多地出现在使用带有蓝牙功能手机的朋友身边:明明自己不怎么爱发短信但是却发现自己短信费用突然增高、自己与朋友合影的照片被不认识的人登在了网上、自己的手机莫名其妙地向外拨号……到底是什么原因造成了这些问题呢?下面我们为大家讲述一则有关蓝牙安全的故事,通过这个故事,大家就知道造成这些问题的原因了。 周利是一个从事无线安全研究的技术专家,为了对蓝牙设备安全进行研究,周利决定在一家大
2013-09-06 17:27:31
1762
转载 蓝牙编程-l2cap协议层的c/s程序
l2cap协议方式的socket连接.以下为客户端的程序:#include #include #include #include #include #include int main( int argc , char **argv){ struct sockaddr_l2 addr={0}; int s,status; char *des
2013-09-06 17:25:36
890
转载 Linux下Bluetooth HCI Command的实现
Linux下写Bluetooth程序,首先接触到的就是使用HCI Command来设置Bluetooth Modules(USB Bluetooth dongle)。那这些HCI command在blueZ中是如何实现的呢?举例说明。if ((ctl = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) 在此之前,因为hci_sock.c
2013-09-06 17:25:02
2778
转载 预防蓝牙手机中病毒
当机”、“终止应用程序”、“衍生变种家族”、“无线入侵”、“伪装免费软件”甚至“窃取资讯”,这些电脑病毒常见的破坏手法,现在手机病毒也跟着模仿,入侵手机用户。趋势科技 TrendLabs 最近的一份报告指出,手机病毒可能造成文件、电话簿、讯息、相册以及电话本身的操作功能丧失。 趋势科技TrendLabs分析第一季的手机病毒,发现主要呈现四种状况,包括“复写防毒软件”伪装成更新防
2013-09-06 17:24:59
809
转载 Linux BlueZ 下 Inquiry的实现
前面讲了使用 ioctl发送HCI Command的方法。但HCI protocol还有一些Command,比如Inquiry等,他们则不需要使用ioctl来发送。blueZ 直接提供了支持,虽然他们的最终都是用同样办法实现的。在应用程序中:hci_inquiry(dev_id, length, num_rsp, NULL, &info, flags);这样需要包含blueZ 头文
2013-09-06 17:24:30
734
转载 Bluetooth HCI Event的处理
1.当Bluetooth USB dongle插入USB接口时,driver/bluetooth/hci_usb.c中probe程序被调用。probe会调用hci_register_dev()--〉tasklet_init(&hdev->rx_task, hci_rx_task, (unsigned long) hdev);将hci_rx_task() 连上rx_task->func.
2013-09-06 17:23:53
1961
转载 Android.mk简介
文章参照:http://blog.sina.com.cn/s/blog_67d8d7060100q8un.html Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译。因为所有的编译文件都在同一个 GNU MAKE 执行环境中进行执行,而Android.mk中所有的变量都是全局的。因此,您应尽量少声明变量,不要认为某些变量在解析过程中不会被定
2013-09-06 17:23:23
659
转载 Android.mk文件语法规范及使用模板
Android.mk文件语法规范根据eoeandroid上的的连载,进行一些更新、修改和加亮。今天翻译ANDROID-MK.TXT文件(英文原文件在/development/Ndk/Docs/android-mk.txt)Android.mk文件语法规范Introduction:Android.mk编译文件是用来向Android NDK描述你的C,C++源代码文件的, 这篇文档
2013-09-06 17:22:49
591
转载 Android.mk的用法和基础
一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。选项参考以下文件:build/core/config.mk,默认的值在以下文件中定义:build/core/base_rules.mk。编译系统为
2013-09-06 17:22:16
635
转载 wpa_supplicant 工具使用
4. 无线网络内容: 介绍WPA SupplicantWireless Tools针对每个ESSID的网络配置4.a.介绍目前您可以使用我们提供的wireless-tools 或wpa_supplicant工具来配置无线网络。请记住重要的一点是,您对无线网络的配置是全局性的,而非针对具体的接口。wpa_supplicant是一个最好的选择,但缺点是它不支持所有的驱动。请
2013-09-06 17:21:14
1020
转载 camera sensor readout position(flip/mirror)
预览过程:景物(sence)通过镜头(lens)生成的光学图像投射到图像传感器(sensor)上,图像以pixel为单位通过MIPI/DVP接口传输到VFE,经过external memory,最后经过MDP然后将图片显示到屏上。偶尔会出现这样情况:在屏上显示的图像方向不对。这是因为模组厂不严格根据sensor厂给出的sensor放置位置打样。一般情况是建议模组厂能
2013-09-06 17:18:17
4201
转载 APQ8064 camera AF 调试
1. infoModule: sunnySensor: imx091Platform:APQ8064Actuator:VCMVCM driver IC: dw9714A2.调试步骤(1)VCM供电正常(2)VCM diver IC i2c通信正常a)保证 VCM diver IC处于正常工作模式VCM drver IC SPEC(供电/PWDN脚
2013-09-06 17:17:13
2060
转载 camera调试基础
1、camera如何调试? Camera的接口如下: 1.VSYNC2.HSYNC3.PWDN4.RESET5.AGND6.SCL7.SDA8.DVDD189.DOVDD2810.MCLK11.PCLK12.DGND13.DATA0-DATA714.IOVDD2815.GND 看sensor的spec来调试。 1)莫尔条纹(彩带) 从技术角度上讲,莫尔条纹是两条线或两个物体之间以恒定的角度和频率发
2013-09-06 17:15:46
5247
转载 android camera(一):camera模组CMM介绍
关键词:android camera CMM 模组 camera参数平台信息:内核:linux系统:android平台:S5PV310(samsung exynos 4210) 作者:xubin341719(欢迎转载,请注明作者)下载:常用摄像头规格书(个别有android驱动程序) :bf3703 30W、gc0308 30W、ov7670、gt2005 20
2013-09-06 17:15:06
3461
转载 Camera最新资料大全
camera1Camera 图像处理原理分析 抗噪 变焦 频闪 亮度感应及曝光Camera EngineerCamera图像处理原理及实例分析.PDFCamera Evaluation Methods高通Android平台硬件调试之Camera篇cameraAndroid Camera HAL开发文档CMOS Image Sensors: Electronic Ca
2013-09-06 17:09:56
1250
转载 基于bluez程序编译时注意事项
制作了一个基于bluez的,类似于BTW的库---BTX.在编写和使用这个库时,发现头文件包含容易出现的问题。第一:不要用到哪个Bluez头文件中定义的内容就只去包含这个头文件。而应该将bluetooth/bluetooth.h最先加入。类似://==================================//bluetooth header file#include
2013-05-06 10:00:37
963
嵌入式linux内核
2010-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人