linux驱动
文章平均质量分 50
梦幻贝壳
这个作者很懒,什么都没留下…
展开
-
讯为4412按键不能关机的问题解决
一、前言讯为4412开发板除了有屏幕上的软按键之外,还有主板上面的”硬”按键:sleep, back, home。猜测安卓系统是通过读取按键事件来识别当前摁下哪个按键的,那么按键由哪个IO作为输入并不重要。 最近拿到讯为的开发板,发现摁下sleep键竟然没啥反应,用的是4.4的安卓系统和内核,烧录4.0的安卓系统和内核则正常。下面探讨为何会出现这样的问题。二、问题分析1.sleep键的IO原创 2017-01-03 18:02:36 · 680 阅读 · 0 评论 -
android音频系统解析
音频HAL层的代码在:device/samsung/smdk_common/libaudio/AudioHardware.cpp控制音量大小调节范围的位置在:原创 2017-04-17 23:04:16 · 706 阅读 · 0 评论 -
Android 开发之 ---- 底层驱动开发(一)
驱动概述 说到 Android 驱动是离不开 Linux 驱动的。Android 内核采用的是 Linux2.6 内核 (最近Linux 3.3 已经包含了一些 Android 代码)。但 Android 并没有完全照搬 Linux 系统内核,除了对Linux 进行部分修正,还增加了不少内容。android 驱动 主要分两种类型:Android 专用驱动 和 Androi转载 2017-04-30 00:25:40 · 919 阅读 · 0 评论 -
linux之GPIO的使用------OK6410
S3C6410的GPIO引脚相对来说比较多,而且大部分引脚都具有多重复用功能,如何在Linux上用最简单的方式来控制GPIO这需要我们好好研究一下底层的代码了,其实方法有很多种,鉴于在操作系统端控制GPIO并不像控制传统的单片机那样。这里我将提及一种方法来讲述,这种方法也是我至今看到最简单的方法首先我们打开linux-3.0.1\arch\arm\plat-samsung\include\转载 2017-04-24 16:18:01 · 634 阅读 · 0 评论 -
mtk pwm&&linux timer
转载地址:http://blog.csdn.net/weiqifa0/article/details/50418988pwm控制还是有很多要注意的地方 附上驱动的代码/* * drivers/leds/leds-mt65xx.c * * This file is subject to the terms and conditions of the GNU General转载 2017-04-25 15:57:34 · 540 阅读 · 0 评论 -
如何打开pr_debug调试信息
如何打开pr_debug调试信息,先不要着急,我们先静下心来分析一下这个函数的源代码。。。以DMA的调试为例,先来看看一个pr_debug函数调用[plain] view plain copy pr_debug("%s: %s (%s)\n", __func__, chan ? "success" : "fail"转载 2017-04-26 15:47:06 · 673 阅读 · 0 评论 -
讯为itop4412开发板触摸屏调试
代码分析 驱动位置:drivers/input/touchscreen/ft5x06_ts.c static int __init ft5x0x_ts_init(void){ int ret; int type; type = get_lcd_type();#if 1 //TP1_EN //printk("==%s: TP1_EN==\n", __F原创 2017-01-05 18:15:22 · 2752 阅读 · 1 评论 -
android系统休眠时冻结任务的分析
安卓系统休眠的时候冻结了任务,导致驱动无法运行,触摸屏点击也没有反应,只能通过点击电源按键才能唤醒安卓系统。 错误信息如下:May 14 15:53:15 nb kernel: [30404.485085] PM: Syncing filesystems ... done.May 14 15:53:15 nb kernel: [30404.711342] PM: Prepar原创 2017-09-26 15:07:30 · 2587 阅读 · 0 评论 -
全志A64触摸屏驱动调试
一、前言 linux的触摸屏驱动一般要经历一下几个步骤(以4412为例):1.移植驱动到linux源码“driver/input/touchscreen/”目录下,在Kconfig里面增加这款触摸屏驱动的菜单。#add by long 20170207config TOUCHSCREEN_GT9XX tristate "GT9XX based原创 2018-01-22 11:01:53 · 2718 阅读 · 1 评论 -
wifi驱动无法被安卓系统正常调用
1.问题现象:打开wifi的图标,wifi加载后又自动卸载。2.问题分析 驱动能正常加载,但是又自动卸载,说明驱动没有完全满足安卓的要求,查看wifi加载的源码“hardware/libhardware_legacy/wifi/wifi.”可知wifi要正确加载必须满足“wlan0和p2p”两个条件int wifi_load_driver(){ char d原创 2018-01-25 18:14:21 · 3204 阅读 · 4 评论 -
【Android休眠】之PowerKey唤醒源实现
[cpp] view plain copy版本信息: Linux:3.10 Android: 4.4 http://blog.csdn.net/u013686019/article/details/53677531一、唤醒源设备休眠后,通过触发唤醒源使设备恢复正常工作模式。设备唤醒源有多种,对于Android设备常见的就有PowerKey、来电唤醒、Alarm唤醒等。唤醒源的实现处于内核空间...转载 2018-04-23 15:57:25 · 1816 阅读 · 0 评论 -
Android中通过adb shell input来模拟滑动、按键、点击事件
今天在维护公司的一个小项目的时候,发现按公司手机的某个物理按键,激活相应的Service后,会在屏幕上模拟的点击了屏幕的某个坐标点。好家伙,原来是之前该项目的版本是按这个物理按键后,会弹出一个对话框,提示用户需要打开某些服务,然后出于良好的用户体验,直接模拟点击事件,点击该对话框,不让用户做多余...转载 2018-04-19 18:03:33 · 3077 阅读 · 0 评论 -
深入了解全志linux的设备树
一.设备树为何物二.设备树在源码的位置1.设备树的apidrivers/of/base.cdrivers/of/platform.c2.设备树的板载dtsarch/arm64/boot/dts/3.设备树文件编译工具dtclinux-3.10/scripts/dtc/dtc.c4.用户级的fex配置文件需要转换成dtc文件转换的方法是:int dt_update_source(const char...原创 2018-05-07 14:32:30 · 3807 阅读 · 0 评论 -
zynq设备树历史最详解
注:由于内核版本的演变,设备树成了任何使用较高版本linux系统的设备平台所必须文件,然国内相关技术文档严重不足,本文是国外技术专栏的翻译,原文链接:http://xillybus.com/tutorials/device-tree-zynq-1 本教程是针对Xilinx'Zynq-7000设备写的,但其中的概念适用于所有使用了设备树的Linux内核。本文使用Xillinux发行版为例,该...转载 2018-05-07 17:53:46 · 659 阅读 · 0 评论 -
Linux设备树语法详解
概念Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离。在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写。引入了设备树之后,驱动代码只负责处理驱动的逻辑,而关于设备的具体信息存放到设备树文件中,这样,如果只是硬件接口信息的变化而没有驱动逻辑的变化,驱动开发者只需要修改设备树文件信息,不需要改写驱动代码。比如在ARM Linux内,...转载 2018-05-07 18:21:42 · 277 阅读 · 0 评论 -
android的背光调节
android的背光调节是利用pwm波形进行调节的,源码在drivers\video\backlight\pwm_bl.c原创 2017-04-17 18:04:38 · 986 阅读 · 0 评论 -
android 关机流程图
android 关机流程图 ShutdownThread.java文件stop playing music,因为后面可能要playing shutdown music.代码如下: ?123456private static void beginShutdownSequence(Context c转载 2017-04-11 14:00:44 · 2448 阅读 · 0 评论 -
lvds屏幕的数据手册如何看
一、前言1.LVDS输出接口概述 液晶显示器驱动板输出的数字信号中,除了包括RGB数据信号外,还包括行同步、场同步、像素时钟等信号,其中像素时钟信号的最高频率可超过28MHz。采用TTL接口,数据传输速率不高,传输距离较短,且抗电磁干扰(EMI)能力也比较差,会对RGB数据造成一定的影响;另外,TTL多路数据信号采用排线的方式来传送,整个排线数量达几十路,不但连接不便,而且不适合超薄化的趋势。采用原创 2016-12-26 16:26:03 · 9012 阅读 · 1 评论 -
4412的触摸屏程序分析
1.开发板简单介绍讯为4412开发板用的触摸芯片是ft5306,通讯方式是I2C。 如上图所示,要驱动这个触摸芯片,需要控制四个引脚:INT,RST,SDA,SCL。2.驱动程序分析(1)初始化触摸芯片static int __init ft5x0x_ts_init(void){ int ret; int type; type = get_lcd_typ原创 2016-12-26 18:13:48 · 1056 阅读 · 0 评论 -
讯为ITOP4412的按键驱动分析
一、前言安卓上用得比较多的按键有:home,back,power,volup,voldown,原理图如下: 程序里面只要检测到低电平就能知道按键按下了。但是程序是如何实现的呢?下面一步步去揭开其神秘的面纱。二、按键驱动位置按键驱动位置:drivers/input/keyboard/gpio_keys.c 按键IO定义位置:arch/arm/mach-exynos/mach-itop441原创 2016-12-27 16:38:02 · 878 阅读 · 0 评论 -
GT9XX触摸屏双击唤醒功能分析
一、触摸屏唤醒方式1.在屏幕上画其中26个字母中的一个来唤醒屏幕:例如:a/b/c/d…. 2. 在屏幕上画线唤醒屏幕:”上/下/左/右” 3.双击屏幕唤醒:在屏幕上双击两下。二、触摸屏唤醒的原理其实唤醒屏幕的原理很简单,就是检测触摸屏上面的动作,如果该动作是唤醒手势,则触发电源开关键来唤醒屏幕,调用的方法是 input_report_key(ts->input_dev, KE原创 2017-02-07 16:00:25 · 24379 阅读 · 2 评论 -
如何给触摸屏增加GT9XX内核编译选项
一、在Kconfig里面增加一个菜单选项二、在对应驱动的文件夹的Makefile增加编译内容三、在内核主配置文件mach-itop4412.c里面增加配置信息四、内核编译原理其实用make menuconfig就是在Kconfig里面获取一个“宏”,例如“CONFIG_TOUCHSCREEN_GT9XX”,如果在make menuconfig里面选择这个触摸屏的驱动,则相当于定义了宏 TOUCHSC原创 2017-02-08 10:43:22 · 1494 阅读 · 0 评论 -
linux驱动一些重要的目录说明
1.系统模块参数配置的目录。该目录位于:/sys/module/下面 目录内容有:root@maya-g450:/sys/module# ls -l总用量 0drwxr-xr-x 5 root root 0 1月 8 21:04 6lowpan_iphcdrwxr-xr-x 3 root root 0 1月 9 00:20 8250drwxr-xr-x 3 root root 0原创 2017-01-09 00:41:50 · 1702 阅读 · 0 评论 -
itop4412的平台驱动注册
一、平台驱动的注册函数int platform_device_register(struct platform_device *pdev){ device_initialize(&pdev->dev); return platform_device_add(pdev);}void device_initialize(struct device *dev){ dev->k原创 2017-02-08 17:35:09 · 503 阅读 · 0 评论 -
linux驱动板载信息注册
一、定义板载信息数组static struct i2c_board_info i2c_devs3[] __initdata = { /* add by cym 20130318 support for FT5X0X TouchScreen */ #if defined(CONFIG_TOUCHSCREEN_FT5X0X) { I2C_BOARD_INFO("f原创 2017-02-08 18:11:44 · 642 阅读 · 0 评论 -
安卓内核和镜像自动烧录脚本
一、前言安卓的内核和镜像的烧录是利用bootloader里面的内建命令fastboot来进行烧录的,步骤是:先在目标板连接串口线和otg线,然后启动目标板,在bootloader的界面串口终端输入fastboot,然后在PC的cmd命令行下输入fastboot.exe的一系列命令:fastboot.exe flash kernel zImagefastboot.exe flash ramdisk原创 2017-02-20 11:17:46 · 1835 阅读 · 0 评论 -
android传感器(sensor)分析(以mma8451重力感应器为基础)
android传感器(sensor)分析(以mma8451重力感应器为基础)转载地址:http://blog.csdn.net/dkleikesa/article/details/9532869一、前言 传感器是现在手机上不可或缺的的一部分,到了android4.0系统总共支持13类的传感器分别为[cpp] view plain copypr转载 2017-04-06 23:38:57 · 1270 阅读 · 0 评论 -
adb logcat 命令行用法
adb logcat 命令行用法目录(?)[-]解析 adb logcat 的帮助信息1 选项解析2 过滤项解析使用管道过滤日志1 过滤固定字符串2 使用正则表达式匹配本文为转载。作者 :万境绝尘 转载请著名出处eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb转载 2017-04-07 17:28:11 · 587 阅读 · 0 评论 -
itop4412的wifi驱动配置
1.itop4412开发板用的是mt6620的wifi/BT芯片,使用该驱动需要在内核上进行配置。 2.在kernel下面输入命令:make menuconfig ,然后菜单按下面进行选择即可:原创 2017-03-14 12:01:37 · 2347 阅读 · 0 评论 -
linux传感器三之轴陀螺仪(MPU3050)驱动解析
linux传感器三之轴陀螺仪(MPU3050)驱动解析MPU3050是invensense公司的三轴陀螺仪芯片,三轴陀螺仪最大的作用就是“测量角速度,以判别物体的运动状态,所以也称为运动传感器.下图是MPU3050的系统框图,芯片有1个中断引脚,可以通过i2c来控制,获取x Gyro,y Gyro,z Gyro设备驱动中用转载 2017-03-15 16:39:49 · 1677 阅读 · 0 评论 -
Android(4.2) Sensors 学习——G-sensor,Gyroscope驱动移植
Android(4.2) Sensors 学习——G-sensor,Gyroscope驱动移植目录(?)[-]Sensors 种类和功能G-sensor驱动code G-sensor HAL注1-1注1-2注1-3Sensors 种类和功能从Android 官方的API可以找到Android 支持的sensor类型如下转载 2017-03-15 16:43:55 · 970 阅读 · 0 评论 -
设备树(一)linux内核主线了解dts
摘自:http://blog.csdn.net/xiaojiezuo123/article/details/49890471http://events.linuxfoundation.org/sites/events/files/slides/petazzoni-device-tree-dummies....转载 2018-05-07 18:23:29 · 579 阅读 · 0 评论