自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Change

良好的经验来自失败的教训

  • 博客(154)
  • 资源 (2)
  • 收藏
  • 关注

原创 Qualcomm平台camera调试移植入门

1  camera基本代码架构    高通平台对于camera的代码组织,大体上还是遵循Android的框架:即上层应用和HAL层交互,高通平台在HAL层里面实现自己的一套管理策略;在kernel中实现sensor的底层驱动。但是,对于最核心的sensor端的底层设置、ISP效果相关等代码则是单独进行了抽离,放在了一个daemon进程中进行管理:图1 Qualcomm平台c

2017-06-28 16:15:00 376 1

转载 Android设备间USB传输(OTG)

1. USB概述    为了统一电脑和外围设备的接口标准,方便用户使用以及端口扩展,Intel和USB-IF组织于1994年开始开发一个通用总线标准-- USB(Universal Serial Bus),并在1995年发布USB1.0标准、2000年发展到USB2.0标准、目前已经更新到了USB3.0标准;另外,USB组织也在2004年提出了Wireless USB (无线USB)标

2017-06-28 16:12:15 3022

转载 USB学习笔记——OTG功能

USB OTG的工作原理  OTG补充规范对USB 2.0的最重要的扩展是其更具节能性的电源管理和允许设备以主机和外设两种形式工作。OTG有两种设备类型:两用OTG设备(Dualrole device)和外设式OTG设备(Peripheralonly OTG device) 。两用OTG设备完全符合USB 2.0规范,同时,他还要提供有限的主机能力和一个MiniAB插座、支持主机流通协议(Ho

2017-06-24 10:24:33 2258

原创 USB学习笔记--基本介绍

1.1 USB的拓扑结构USB是一种主从结构的系统,主机叫做host,从机叫做device。通常所说的主机具有一个或者多个USB主控制器(host controller)和根集线器(root hub),主控制器主要负责数据处理,而根集线器则提供一个连接主控制器与设备之间的接口和通路。另外,还有一种特殊的USB设备——USB集线器(USB hub),它可以对原有的USB口进行

2017-06-23 16:31:38 4241

转载 #ifdef与#ifdefine()之间的区别

在查阅Linux内核源码的过程中,发现存在两种不同类型的条件编译语句:#ifdef MACRO_A和#if defined(MACRO_A)或#if !defined(MACRO_A)#ifdef和#ifdefined()之间的区别实际上,两者并无本质的差别,但后者的应用范围更广,能支持多个预编译变量的检查。#if defined(MACRO_A) && !defined(MACR...

2017-06-21 10:33:48 36084 2

转载 I2C总线协议详解

1.1 I2C总线知识1.1.1  I2C总线物理拓扑结构     I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来 产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。1.1.2  I2C总线特征   

2017-06-16 16:12:26 6870 1

原创 MTK串口的使用

软件准备。1.vendor\mediatek\proprietary\bootable\bootloader\preloader\custom\gnsz6757_66_n\cust_bldr.mak   CFG_UART_LOG :=UART2   我们硬件一般有两个UART口,这里配置要和硬件配置一样。  编译ENG版本pl 下到手机就可以。  如果是user版本,默认跑到k

2017-06-16 11:46:51 2760

转载 I2C总线信号时序总结

I2C总线信号时序总结总线空闲状态   I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。 启动信号   在时钟线SCL保持高电平期间,数据线SDA上的电平被拉低(即负跳变),定义为I2C总线总线的启动信号,它标志着一次数据传输的开始。

2017-06-16 11:41:44 586

原创 I2C总线简单总结

1.概述I2C是一种两线接口,I2C只用两条双向的线,一条Serial Data Line(SDA),另一条Serial Clock(SCL).SCL:上升沿将数据输入到每个EEPROM器件中;下降沿驱动EEPROM器件输出数据。(边沿触发)SDA:双向门,与其它任意数量的OD与OC门成“线与”关系。2.输出级每个I2C总线器件内部的SDA、SCL引脚电路结构都是一样的,引

2017-06-16 11:28:32 4700 1

转载 Linux 2.6内核Makefile浅析

1 概述Makefile由五个部分组成:Makefile:根目录Makefile,它读取.config文件,并负责创建vmlinux(内核镜像)和modules(模块文件)。.config:内核配置文件(一般由make menuconfig生成)。arch/$(ARCH)/Makefile:目标处理器的Makefile。scripts/Makefile.*:所有kbuild Mak

2017-06-15 08:58:19 516

转载 手机充电原理分析及问题总结

(1)充电流程介绍:当充电器插入时,亦即为PMIC充电模块提供了Vcharge电压,这时会产生一个充电中断信号到CPU,通知CPU现在已经进入充电状态。CPU开始启动如下模块:1,ADC采样,主要是采集Vchrg,Vbat及从MOSFET漏极输出的电压,可以算出充电电压和充电电流;2,发消息给MMI层,让它显示充电状态及一些采样数据;3,检测电池电压有没有超过保护电压及电池

2017-06-02 17:52:47 1582 2

转载 MTK Android Driver :battery

6.PM 充电6.1 配置文件位置:CUSTOM_KERNEL_BATTERY= batterymediatek\custom\\kernel\battery\battery\cust_battery.hmediatek\custom\\kernel\battery\battery\custom_fuel_gauge.h 6.2充电常用参数修改:..\mediatek\

2017-06-02 17:51:01 716

原创 Ubuntu16.04中Android编译环境适配

Android编译环境的网址:https://source.android.com/source/initializingEstablishing a Build EnvironmentThis section describes how to set up your local work environment to build the Android source fi

2017-05-24 09:14:27 1766

转载 MT6589充电模块浅析

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

2017-05-23 17:30:42 1140

转载 锂电池基本原理

电池充电最重要的就是这三步:第一步:判断电压,要先进行预充电,0.05C电流;第二步:判断 3V电压,恒流充电0.2C~1C电流;第三步:判断电压>4.2V,恒压充电,电压为4.20V,电流随电压的增加而减少,直到充满。电池(一):锂电池基本原理篇" style="margin:0px; padding:0px; border:0px none; list-st

2017-05-23 17:18:26 1984

原创 MTK65XX平台充电调试总结

摘要:调试电池的充放电管理,首先需要深入了解锂电池的电池原理和特点,充放电特性以及基本的电池安全问题。然后需要对MTK的电池管理驱动程序有深入的了解,理解电池充放电算法的基本原理。在此基础上,对充放电导致的问题进行调试优化。  一、 锂电池工作原理和特性1.工作原理:锂离子电池以碳素材料为负极,以含锂的化合物作正极。它主要依靠锂离子在正极和负极之

2017-05-23 10:25:12 1391

转载 MTK平台下Battery驱动分析及充电流程

转自:http://blog.csdn.NET/baidu_34021173/article/details/51105223主要涉及代码:Kernel:kernel-3.10\drivers\power\mediatek\kernel-3.10\drivers\misc\mediatek\mach\mt6580\\power\MTK Bat

2017-05-20 16:16:55 2769

转载 高通batterydata电池曲线数据学习

产品采用的是4.2V,对应的文件为《batterydata-qrd-l42q-4v20-3200mah.dtsi》,在msm8909-qrd-skue-cb03.dtsi文件中被引用,开发板采用的是《batterydata-qrd-l45q-4v35-1800mah.dtsi》电池曲线文件说明文档见kernel\Documentation\devicetree\bindings\battery

2017-04-28 15:01:09 5262

原创 WIFI下使用adb命令

(ADB Shell over WiFi):-Connect device to the same WiFi network as your PC is connected to (PC must be connected to WiFi)-Then in settings->wifi/wlan select network name to find out your device's

2017-04-26 14:22:46 1266

转载 Win7系统下利用U盘安装Ubuntu_12.04实现双系统教程

目前网上流传的关于Linux 系统的安装教程可是说是五彩缤纷,之前想采用硬盘安装方式,由于配置问题未能正确安装,现研究了下U盘安装,根据互联网上的一些资料及自己的总结,在Windows7 系统下采用U盘安装安装Ubuntu 12.04,并引导成为Windows7 和Ubuntu 12.04 双系统。Ubuntu 12.04在线体验:http://www.ubuntu.com/tour/zh-C

2017-04-15 20:18:45 563

原创 LCD中的pixclock的计算

在LCD驱动程序中,需要我们根据LCD datasheet来设置相应的参数,这些参数包括:pixclock,left_margin,right_margin,upper_margin,lower_margin,hsync_len,vsync_len,VBP,VFB,VSPW,HBP,HFP,HSPW。下图是典型的TFT LCD时序图:   __u32 pixclock; /*像素时

2017-04-07 18:07:00 2573 1

原创 repo的使用

1. 下载 repo 的地址: http://android.git.kernel.org/repo ,可以用 wget http://android.git.kernel.org/repo      或者 curl http://android.git.kernel.org/repo>~/bin/repo 来下载 repo ,   repo脚本授权:chmod a+x  ~/bi

2017-03-23 11:40:32 350

转载 DHCP协议原理及其实现流程

DHCP(Dynamic Host Configuration Protocol):动态主机配置协议在常见的小型网络中(例如家庭网络和学生宿舍网),网络管理员都是采用手工分配IP地址的方法,而到了中、大型网络,这种方法就不太适用了。在中、大型网络,特别是大型网络中,往往有超过100台的客户机,手动分配IP地址的方法就不太合适了。因此,我们必须引入一种高效的IP地址分配方法,幸好,DHCP(Dy

2017-03-22 09:57:17 414

转载 DHCP的基本实现原理

DHCP几个概念:DHCP Client:DHCP客户端,通过DHCP协议请求IP地址的客户端。DHCP客户端是接口级的概念,如果一个主机有多个以太接口,则该主机上的每个接口都可以配置成一个DHCP 客户端。交换机上每个Vlan接口也可以配置成一个DHCP客户端。DHCP Server:DHCP 服务端,负责为DHCP客户端提供IP地址,并且负责管理分配的IP地址。DHCP Relay

2017-03-22 09:48:28 520

转载 路由器WAN口和LAN口详解

前一阵子做路由器的联网,由于利用了Openwrt操作系统,做起来虽然方便,但是很多原理细节都被忽略了。所以这里再来老生常谈一下wan口和lan口的区别,以及他们之间的工作原理。首先百度一下,基本知识:熟悉网络的朋友都知道WAN是英文Wide Area Network的首字母所写,即代表广域网;而LAN则是Local Area Network的所写,即本地(或叫局域网)。那么我们不妨给路

2017-03-21 19:48:19 39959

原创 ubuntu中常用的命令

关机操作shutdown -h now    现在马上关机shutdown -r now    现在重新启动sudo poweroff    关机操作reboot      现在重新启动用户操作sudo passwd root    设置linux初始root密码su -      如果当前是普通用户,则输入这条命令切换到管理员用户(root),如果要切换到其他用户

2017-03-21 15:54:52 933

转载 Linux最常用的命令总结

玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man,他会帮你解决不少的问题。然而每个人玩Linux的目的都不同,所以他们常用的命令也就差异非常大,而我主要是用Linux进行C/C++和shell程序编写的,所以常用到的命令可以就会跟一个管理Li

2017-03-21 15:20:44 285

转载 多无线路由器有线串连接,使用同一个SSID号无缝连接漫游(非中继方式)

原文如下:多台无线路由器、无线AP或无线路由器加无线AP,进行有线连接设备,使用同一SSID号上网架设配置方法,覆盖面较大的单位往往会安装两个或两个以上无线路由器或无线AP,以达到在单位各个范围之内都能使用无线网络的目的。但无线终端用户希望具有完全移动能力,整个网络终端设备通过使用同一个SSID号上网,就如手机一样的漫游功,这就需要使用多个AP来组成一个漫游网,漫游网络中,多个AP是利用有

2017-03-21 14:13:14 37554 1

转载 路由及路由器工作原理深入解析4:路由器操作实例

9、DMZ    DMZ是 “Demilitarized Zone”的缩写,中文名称为“隔离区”,也称“非军事化区”。它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设置,如企业Web服务器、FTP服务器等。另一方面,通过这样一个DM

2017-03-20 13:58:03 1044

转载 路由及路由器工作原理深入解析3:路由与端口

6、什么是端口    如果把IP地址比作一间房子,端口就是出入这间房子的门。一个IP地址的端口有65536(即:2^16)个之多。端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535(2^16-1)。    前文已经阐述,在Internet上,各主机间通过TCP/IP协议发送和接收数据包,各个数据包根据其目的主机的IP地址来进行互联网络中的路由选择。可见,把数据包顺利的传

2017-03-20 13:55:04 1716

转载 路由及路由器工作原理深入解析2:路由原理

3、路由原理     当IP子网中的一台主机发送IP分组给同一IP子网的另一台主机时,它将直接把IP分组送到网络上,对方就能收到。而要送给不同IP子网上的主机时,它要选择一个能到达目的子网上的路由器,把IP分组送给该路由器,由路由器负责把IP分组送到目的地。如果没有找到这样的路由器,主机就把IP分组送给一个称为 “缺省网关(default gateway)”的路由器上。“缺省网关”

2017-03-20 13:52:38 588

原创 Ubuntu14.04中配置Samba服务

一. 在ubuntu中安装samba的基本软件软件,命令如下:          # sudo apt-get insall samba          # sudo apt-get install smbfs二. 创建共享目录,或是找已经存在的文件夹,只要权限放开就行了:# mkdir /home/username/share# sudo chmod 777 /home

2017-03-20 11:45:10 5445

转载 路由及路由器工作原理深入解析1:概述

前言:现在从事的嵌入式产品设计,很多都是基于TCP/IP的,要求研发的设备能够接入广域网进行远程设置和访问,这就涉及到了路由的工作原理和路由器的使用。包括家庭中用到的ADSL、无线路由器以及在工业现场使用的企业及路由器、交换机,自己都曾接触和使用过,但一直都停留于表面的操作理解。现在由于产品研发的需要,希望能够进一步加深对路由器内部运行机制的理解,澄清一些模糊的认识,所以特写此文。

2017-03-20 10:23:01 526

转载 二级路由器设置图解教程

二级路由器怎么设置?使用路由器上网时,经常会遇到这样的情况,一个路由器不能够满足使用需求;为了解决这个问题,可以在增加一个二级路由器,对网络进行扩展。本文将通过图解教程的方式,详细介绍二级路由器的设置方法。 二级路由器的上网设置有两种方法: 1、二级路由器设置动态IP上网; 2、把二级路由器作为交换机 注意问题: (1

2017-03-16 09:50:45 5595

转载 ARM Linux 3.x的设备树(Device Tree)

1.    ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach

2017-03-10 17:47:22 305

原创 电源管理技术

一、专业术语      1. LDO(Low Dropout Regulator)             低压差线性稳压器             优点:稳定性好,负载响应快,输出纹波小              缺点:效率低,输入输出的电压差不能太大      2. DC-DC(Direct Current to Direct Current)         

2017-03-10 14:42:02 910

转载 Battery Charging Specification 1.2 中文详解

1. Introduction     1.1 Scope                        规范定义了设备通过USB端口充电的检测、控制和报告机制,这些机制是USB2.0规范的扩展,用于专用            充电器(DCP)、主机(SDP)、hub(SDP)和CDP(大电流充电端口)对设备的充电和power up。这些机制适用

2017-03-10 10:12:58 1992 1

转载 USB BC1.2的三种端口

        BC1.2规范简要规定了三种不同类型的USB端口和两种关键对象。“充电”端口是可提供500mA以上电流的端 口;“下行”端口按照USB 2.0规范传输数据。BC1.2规范也确定了每个端口应如何向终端设备枚举,以及识别应用 端口类型的协议。         三种USB BC1.2端口类型为SDP、DCP和CDP 。 BC1.2的三种端口            ● 标准下行端...

2017-03-09 11:21:57 20873

原创 随机数的产生

——引用C库原文:标准C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。rand()函数没有输入参数,直接通过表达式rand()来引用;例如可以用下面的语句来打印两个随机数:printf("Random numbers are: %i %i/n",rand(),rand());

2017-02-24 17:22:12 310

转载 Linux设备树详解

设备树详解在Linux3.x版本后,arch/arm/plat-xxx和arch/arm/mach-xxx中,描述板级细节的代码(比如platform_device、i2c_board_info等)被大量取消,取而代之的是设备树,其目录位于arch/arm/boot/dts1.设备树的组成1个dts文件+n个dtsi文件,它们编译而成的dtb文件就是真正的设备树so

2017-02-22 17:06:21 12686 1

空空如也

空空如也

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

TA关注的人

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