自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Freescale imx6的android lvds屏幕驱动调试

一、概述     1、飞思卡尔 imx6的显示屏驱动架构:    2、目标:    因imx6开发板本身已提供LVDS接口,目标屏幕是LG的LA070WV6,其为RGB接口,imx6和LG屏之间用TW8836芯片来转接,LG屏的主要参数为:分辨率:800*480色彩:32位时钟频率:33.26MHz二移植过程1、首先把屏幕的接口接到开发板

2016-05-05 17:41:22 7452

原创 Freescale imx6 linux platform 驱动模型分析

Freescale imx6 linux platform驱动模型分析一.概述    platform设备和驱动与linux设备模型密切相关。platform在linux设备模型中,其实就是一种虚拟总线没有对应的硬件结构。它的主要作用就是管理系统的外设资源,比如io内存,中断信号线。现在大多数处理器芯片都是soc,如Freescale imx6,它包括处理器内核和系统的外设(l

2016-05-05 16:38:35 2093

转载 linux中class_create和class_register说明

本文介绍linux中class_create和class_register的相关使用方法1 class结构体介绍    内核中定义了struct class结构体,顾名思义,一个struct class结构体类型变量对应一个类,内核同时提供了class_create(…)函数,可以用它来创建一个类,这个类存放于sysfs下面,一旦创建好了这个类,再调用device_create(…)函数来

2016-03-18 11:01:52 832

转载 Linux驱动中,probe函数何时被调用

声明:以下主要内容参考自:关于struct device_driver结构中的probe探测函数的调用http://blog.chinaunix.net/u2/71164/showart.php?id=1361188用SourceInsight跟踪:从driver_register看起,此处我的这里是:int driver_register(struct device_dr

2016-03-18 10:35:05 557

转载 解密module_init

在Linux底下写过driver模块的对这个宏一定不会陌生。module_init宏在MODULE宏有没有定义的情况下展开的内容是不同的,如果这个宏没有定义,基本上表明阁下的模块是要编译进内核的(obj-y)。1.在MODULE没有定义这种情况下,module_init定义如下:#definemodule_init(x)        __initcall(x);因为#define

2016-03-18 10:32:28 274

转载 input子系统 KeyPad-Touch上报数据格式与机制

linux drive中input子系统上报信息,调用函数void input_event(struct input_dev *dev, unsigned int type, unsigned int code, int value),input子系统最终调用copy_to_user(buffer, event, sizeof(struct input_event))将信息上报给上层,ev

2016-03-18 10:28:43 357

转载 Linux workqueue工作原理

1. 什么是workqueue      Linux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workqueue是内核中实现简单而有效的机制,他显然简化了内核daemon的创建,方便了用户的编程.     工作队列(workqueue)是另外一种将工作

2016-03-18 10:27:15 337

转载 高精度定时器(HRTIMER)的原理和实现

上一篇文章,我介绍了传统的低分辨率定时器的实现原理。而随着内核的不断演进,大牛们已经对这种低分辨率定时器的精度不再满足,而且,硬件也在不断地发展,系统中的定时器硬件的精度也越来越高,这也给高分辨率定时器的出现创造了条件。内核从2.6.16开始加入了高精度定时器架构。在实现方式上,内核的高分辨率定时器的实现代码几乎没有借用低分辨率定时器的数据结构和代码,内核文档给出的解释主要有以下几点:低分

2016-03-18 10:25:13 1185

转载 如何实例化i2c_client(四法)

一、在板文件进行client的实例化在内核的初始化中(例如在板文件中)定义设备的信息。这种操作的前提是内核编译的时候已经确定有哪些i2c设备和它们的地址,还要知道连接的总线的编号。比如在板文件/arch/arm/mach-XXX/board_XXX.c中可以用类似下面的代码来注册i2c设备的信息。1.  static structi2c_board_info __initdata ui

2016-03-18 10:23:05 1670

原创 Image$$RO$$Base

一个简易的映像文件包括以下几个部分:○ 一个只读(RO)区域;○ 一个读写(RW)区域;○ 一个被0初始化(ZI)的区域。我们采用如下的方法,在链接器中指定每个区域在执行时的定位地址:-RO-base   exec_address1    指示链接器将只读(RO)区域定位在exec_address1地址处(例如,定位在ROM空间的起始地址上);-RW-base   exec_address2   

2011-06-04 19:35:00 1214

原创 将分辨率为128*128的屏调整为108*128

<br />时间:20101118<br /> <br />问题:<br /> <br />      由于客户选用了128*128的屏。但是由于整机的模具将屏的左右两边遮住一部分。于是要将屏的现实区域调整为108*128.<br /> <br /> <br />解决办法:<br />     <br />     1、首先把屏的刷新区域向右移动10个分辨率,发现手机显示完全混乱。<br />     2、马上打电话咨询屏的IC厂,原来是有可能由于屏的IC的RAM只支持131的像素点,自己向右移动了10个像

2010-11-18 21:25:00 1106

原创 开机键盘灯不停的闪,等屏亮了之后才停止

<br />时间:20101118<br /> <br />问题:<br />     <br />     MTK23D项目开机的时候键盘灯不停的闪,等屏亮了之后才停止闪。<br /> <br />原因:<br /> <br />    1、看了下原理图,键盘灯的使能是用的EA0来做的。于是和FLASH共用的。<br />    2、拿示波器亮了下键盘灯的使能发现在开机键盘灯闪的时候有一个很规律的方波脉冲。<br /> <br />解决方法:<br /> <br />    让硬件在这个使能脚接一个电容,

2010-11-18 21:12:00 1752

原创 MTK23D的项目插入耳机漏电4.78mA

<br />时间:20101118<br /> <br />问题:<br />     MTK23D的项目插入耳机漏电4.78mA.<br /> <br />问题分析:<br />     <br />    1、查看原理图发现耳机与uart的RX和TX复用。且这两条线串了大小为520欧姆的电阻。<br />    2、用万用表量了RX和TX的状态,手机在没有插入耳机的时候两个脚的电压均为2.8V。但是耳机没有插入也就是没有接地,那么没有回路通过。但是当耳机插入的时候RX脚的电压为2.5V.由于耳机插入则形

2010-11-18 21:05:00 1096

原创 摄像头绿色条纹

<br />时间: 20101117<br /> <br />问题:<br />      <br />     进入拍照预览界面或者录像预览界面来电有绿色条纹。<br /> <br />原因:<br /> <br />     客户使用的摄像头模组太差,同时射频对摄像头进行干扰,导致了绿色条纹出现。<br /> <br />解决方案:<br /> <br />     因为客户已经装机,于是硬件没有办法再做相应优化。于是又我们将驱动调试下,看提高摄像头的驱动能力。结果驱动提高摄像头的驱动能力只能部分解决,

2010-11-17 21:26:00 4310

原创 ST7735R屏调试

<br />时间:20101116<br /> <br />又一个新项目开始调试。。。。。<br /> <br />1、项目经理首先将板子和屏给我了。屏是信利的。分辨率为128*160.调试到一半的时候突然项目经理又给我了一个新屏。且说先调试这个新屏。我拿到这个屏没有看仔细相关资料就开始把屏焊接到板子上,简单看了下是IC为ST7735的。一看公司要调试的这个平台这个IC的驱动已经兼容了,于是就直接把屏焊接到板子上。结果很自然的屏没有亮呀。于是自然的读屏的ID。发现读出来的ID不对,读出来时89FO,但是我们

2010-11-16 21:35:00 12918

原创 为什么在开机开启背光的时候去读取NVRAM的值会导致机器重启

<br />时间:20100824<br />问题:测试提出一个bug:就是手机已经开启了省电模式,但是开机的时候键盘灯还是会亮。<br /> <br />解决思路:<br />      在开键盘灯的时候获取当前是不是省电模式,若为省电模式将键盘灯关掉。<br /> <br />遇到的问题:<br />      MTK将省电模式这个状态值存储到NVRAM中,当我们需要的时候读取这个值NVRAM_PROFILES_ACTIVATED.但是我在开机打开键盘灯的时候去读取NVRAM的值发现重启。

2010-08-24 18:39:00 1142 1

原创 MTK6235 Camera电源不稳造成的条纹

<br />现象:<br />      摄像头在preview和caputre状态有条纹。但是调节摄像头的mclk,调大则条纹变细而密。调小则条纹粗而疏。<br />解决方案:<br />      一看这个现象就是摄像头的电源不稳,于是作个实验。将AVDD的电源转成外接电源供电。现象不再存在,于是需要硬件去查到底电源是受到那里的干扰的。因为这个电源是直接从bb供出来的电源,一出来的电源就是不稳,后来就是在bb的基准电压调整即VREF处将接的为1uf的电容改成2uf。问题得到解决。

2010-07-28 18:11:00 1776 1

原创 开机播放动画

mmi_bootup_startmmi_bootup_entry_disk_check();mmi_bootup_exit_disk_check();mmi_bootup_entry_flight_mode_queryFlightModeCheckBeforeAnimationMTPNP_AD_BootupMTPNP_PFAL_Master_Startup_NormalPowerOnNormalM

2010-05-22 13:48:00 588

原创 自动生成scat文件

将编译开关SYSGEN_ENABLE         = TRUE 打开

2010-05-19 17:33:00 1138

原创 RDA5870调试

时间:20100506 现象:我司准备在MTK6253上换蓝牙芯片为RDA5870. 调试过程:      1、首先将RDA5870给的相关代码放到我们自己的工程中,编译通过。但是在添加的时候要注意用相关的宏名控制。           首先在工程文件中添加:                                           RDA_BLUETOOTH

2010-05-11 18:06:00 3138 2

原创 MTK53加个灯导致按键不能用

时间:20100506 现象:加个灯导致手机按键不能使用 具体解决方案:   当时在调试跑马灯的时候,以前的人定义了一些GPIO的枚举,然后定义了一个最大的值为TYD_GPIO_PORT_MAX,按照枚举算出来这个值实际上就是91.然后当时只用了其中的一个GPIO口,还剩下两个GPIO口没有使用,于是都分别定义为TYD_GPIO_PORT_MAX。但是MTK在GPIO_Mode

2010-05-11 17:46:00 810 1

原创 一个很简单但是自己就没有注意的问题

时间:20100430 现象:我加的一个在工程模式输入命令但是没有显示我想显示的内容 具体解决方案:  在项目文件CMOS_SENSOR     = MC501CB    然后要在option.mak中添加  ifdef CMOS_SENSOR    ifneq ($(strip $(CMOS_SENSOR)),NONE)       COM_DEFS    += $(

2010-04-30 16:56:00 443

原创 屏增强驱动能力

时间:20100426 想象:客户换屏发现有屏晃动现象 解决方案:     在lcd.c中init_lcd_interface中添加set_lcd_driving_current()中加强屏的驱动能力。解决此问题。

2010-04-26 22:55:00 605

原创 MTK35平台R61509V概率白屏调试

时间:20100423 现象:我司做的一个品牌项目在量产的产线上发现有机器白屏想象 解决过程:       花了很长一段时间在查找发生白屏的想象。后来在不经意间发现在屏进入sleep然后不停地操作键盘让屏除sleep时很容易发生白屏的想象。       然后和IC原厂的人分析可能导致的原因。但是没有一点解决方案。于是我们把初始化代码尽量的加延时,把不必要的去掉。可是还是没有

2010-04-26 22:26:00 2809

原创 SP5368摄像头整理

时间:20100421 任务:我司23d项目使用的dsp是5368的,当初调试的时候不是在驱动手上调试的,而是在软件和硬件主管上调试的,导致最后功能能用了但是代码太乱,故做整理基本上和MT6225上的架构一致方便以后的维护。

2010-04-21 21:59:00 664

原创 SP5368+GC0309调试

时间:20100420 昨天主要让dsp5368的人过来解决一个问题: 现象:      在手机开机的时候,然后进入摄像头(sensor:gc0309),会一定概率的出现整个手机屏幕显示白一块,黑一块这样充分的显示。 原因:     查找原因主要是因为sp5368这边在开机的时候先在初始化sd卡,然而sd卡还没有初始化完成,摄像头这边就在开始初始化形成了多任务,导致

2010-04-21 09:43:00 1072

空空如也

空空如也

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

TA关注的人

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