- 博客(16)
- 资源 (2)
- 收藏
- 关注
原创 系统移植之bootloader移植
做boot移植工作之前,首先要确定整个boot的启动流程,根据启动流程确定移植步骤。首先看一下boot的启动流程:Bootloader执行最基本的硬件初始化操作。如关闭中断,关闭看门狗以避免处理器被复位,以及关闭MMU功能,关闭处理器缓存(数据缓存一定要关闭,指令缓存可以打开),设置系统时钟,初始化内存等。这一阶段代码通常由汇编代码编写,为了运行下一阶段的C程序还必须设置好堆栈。如
2017-06-30 17:52:25 1385
原创 总结——驱动模块Makefile解析
ifeq ($(KERNELRELEASE),) KERNELDIR ?= /home/linux/linux-2.6.22.6 PWD := $(shell pwd) modules: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules mo
2017-06-30 17:33:23 367
转载 platform设备驱动全透析
1.1 platform总线、设备与驱动在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。一个现实的linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、I2 C、SPI等的设备而言,这自然不是问
2017-06-28 16:30:52 363
转载 Linux Platform Device and Driver
从Linux2.6起引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。linux中大部分的设备驱动,都可以使用这套机制,设备用Platform_device表示,驱动用Platform_driver进行注册。Linux platform driver机制和传统的device driver机制(通过driver_register函数进行注...
2017-06-28 16:29:57 340
原创 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 3019
转载 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 2241
原创 USB学习笔记--基本介绍
1.1 USB的拓扑结构USB是一种主从结构的系统,主机叫做host,从机叫做device。通常所说的主机具有一个或者多个USB主控制器(host controller)和根集线器(root hub),主控制器主要负责数据处理,而根集线器则提供一个连接主控制器与设备之间的接口和通路。另外,还有一种特殊的USB设备——USB集线器(USB hub),它可以对原有的USB口进行
2017-06-23 16:31:38 4223
转载 #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 36073 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 584
原创 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 4698 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 1581 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 715
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人