
linux驱动
Rexxxxxxxxxx
这个作者很懒,什么都没留下…
展开
-
设计和编写设备驱动的一般方法
我的上一篇博客《设备驱动调试和移植的一般方法》详细介绍了调试和移植的几个步骤,依照那几个步骤,按部就班,外加不屑的努力,你就可以完成驱动的调试和移植。但是当你面临的是一块崭新的芯片XXXX,当前并没有现有的芯片相近驱动代码,更没有芯片原厂提供给你的驱动代码,只有一份该芯片的数据手册,此时,你就不得不FROM SCRATCH。这时候你是不是有点不知所措呢?其实你不用着急,根据可知论,世界是可以被转载 2014-04-28 16:33:27 · 1761 阅读 · 0 评论 -
[GPIO] 读取和修改GPIO配置参数的ADB命令
1、读取每个GPIO的参数adb shell cat /sys/devices/virtual/misc/mtgpio/pin打印出来的参数从左到右分别是Pin:mode pullsel din dout pullen dir dinv(inversion) 2、修改GPIO的参数adb shell echo -w=[pin]:[mode] [pullsel] [din] [d转载 2014-12-23 09:12:55 · 4361 阅读 · 1 评论 -
Peripheral Sensor实现方式
G-Sensor/M-Sensor/Gyro-Sensor/Ambient Light-Sensor在MT6575平台上是工作在I2C polling mode下;Proximity Sensor在MT6575平台上是工作在EINT mode下。【Notice1】为什么G-Sensor/M-Sensor/Gyro-Sensor/ALS会使用I2C polling的方式,而不是EINT的方式转载 2014-12-25 14:59:23 · 774 阅读 · 0 评论 -
如何通过从kernel log分析AP suspend状态下的异常漏电
[DESCRIPTION] AP suspend状态下,会因为GPIO配置不当,subsys/pll/clock没关,或者其他的原因造成26M没关,而导致底电流升高; 这种情况,可以从kernel log中找到一些端倪,以确定进一步分析的方向 [SOLUTION] 【1】查找没有关闭的subsys/clock/pll[6589/6582/6592转载 2015-04-03 15:43:39 · 1000 阅读 · 0 评论 -
计算DSI数据速率的方式,以及如何配置时钟clk的方式
[DESCRIPTION]计算DSI数据速率的方式,以及如何配置时钟clk的方式[KEYWORD] dsi、data rate、mipi clk [SOLUTION]1、DSI vdo mode下的数据速率data_rate的大致计算公式为:Data rate= (Height+VSA+VBP+VFP)*(Width+HSA+HBP+HFP)* total_转载 2015-08-05 10:57:09 · 4782 阅读 · 0 评论 -
深入分析看门狗框架(1)
深入分析看门狗框架 1 WDT原理 1. 原理 在手机Soc Chip中,里面的AP跑着linux操作系统软件,而任何软件都可能存在各种问题,如果遇到了这些异常,软件可能陷入死循环,导致手机变成“砖头”,如果没有其他硬件辅助,那么只能断电(拔电池)然后重新开机才行。为了避免出现这种情况,芯片内部增加了一个看门狗模块,这个模块专门检测CPU运行状态,转载 2015-09-11 17:12:00 · 8756 阅读 · 1 评论 -
I2C总线协议
I2C协议2条双向串行线,一条数据线SDA,一条时钟线SCL。SDA传输数据是大端传输(字节高位先传),每次传输8bit,即一字节。支持多主控(multimastering),任何时间点只能有一个主控。总线上每个设备都有自己的一个addr,共7个bit,广播地址全0.I2C开始和结束信号开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束信号:转载 2015-09-14 13:12:38 · 948 阅读 · 0 评论 -
待机电流问题,如何查找EINT唤醒源
产生EINT的channel会记录在EINT_STA状态寄存器里面,这一点所有平台都一样;只要知道这个状态寄存器的值就可以知道哪个channel发生了中断;但是不同平台的log细节会有些不同。--->89/72/82在wakeup时,如果唤醒源是EINT,会主动打印出EINT_STA的值--->77默认不会打印这个寄存器,需要先开启EINT_DEBUG这个宏,才能看到EIN转载 2016-03-28 17:53:45 · 1785 阅读 · 0 评论