- 博客(21)
- 收藏
- 关注
原创 TP调试遇到的问题
一:i2c已经挂载,但是不通可能情况:(1)i2c地址不对(2)上电问题:电压不对,时序不对(3)硬件问题:pin脚不对二:i2c通了,但是没有中断可能情况:(1)中断脚不对(2)中断gpio模式不对三:开始报点,但是触摸屏不工作可能情况:(1)报点函数顺序不对 (2)在probe中最大坐标值设置错误(3)屏的firmware有
2015-10-20 16:23:52 1709 3
转载 利用ssh传输文件
在linux下一般用scp这个命令来通过ssh传输文件。1、从服务器上下载文件scp username@servername:/path/filename /var/www/local_dir(本地目录) 例如scp root@192.168.0.101:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt 的文件下载
2015-07-16 15:56:27 302
转载 DEVICE_ATTR
sysfs接口函数的建立_DEVICE_ATTR 2012-05-09 11:36:46| 分类:linux文件系统 | 标签:device_attr sysfs接口函数 |字号大中小 订阅说道sysfs接口,就不得不提到函数宏 DEVICE_ATTR,原型是#define DEVICE_ATTR(_name, _mode, _show, _store) \struct devi
2015-06-04 23:03:03 507
转载 __read_mostly变量
__read_mostly原语将定义为存放在.data.read_mostly段中 include/asm/cache.h#define __read_mostly __attribute__((__section__(".data.read_mostly"))) 由此可见,我们可以将经常需要被读取的数据定义为 __read_mostly类型, 这样Linux内
2015-05-19 08:47:23 519
转载 Linux设备模型(7)_Class
1. 概述在设备模型中,Bus、Device、Device driver等等,都比较好理解,因为它们对应了实实在在的东西,所有的逻辑都是围绕着这些实体展开的。而本文所要描述的Class就有些不同了,因为它是虚拟出来的,只是为了抽象设备的共性。举个例子,一些年龄相仿、需要获取的知识相似的人,聚在一起学习,就构成了一个班级(Class)。这个班级可以有自己的名称(如295),但如果离开
2015-05-12 16:09:22 348
转载 Linux设备模型(6)_Bus
1. 概述在Linux设备模型中,Bus(总线)是一类特殊的设备,它是连接处理器和其它设备之间的通道(channel)。为了方便设备模型的实现,内核规定,系统中的每个设备都要连接在一个Bus上,这个Bus可以是一个内部Bus、虚拟Bus或者Platform Bus。内核通过struct bus_type结构,抽象Bus,它是在include/linux/device.h中定义的。本
2015-05-12 15:58:26 375
转载 Linux设备模型(5)_device和device driver
1. 前言device和device driver是Linux驱动开发的基本概念。Linux kernel的思路很简单:驱动开发,就是要开发指定的软件(driver)以驱动指定的设备,所以kernel就为设备和驱动它的driver定义了两个数据结构,分别是device和device_driver。因此本文将会围绕这两个数据结构,介绍Linux设备模型的核心逻辑,包括:设备及设备驱动
2015-05-12 15:22:15 609
转载 Linux设备模型(4)_sysfs
1. 前言sysfs是一个基于RAM的文件系统,它和Kobject一起,可以将Kernel的数据结构导出到用户空间,以文件目录结构的形式,提供对这些数据结构(以及数据结构的属性)的访问支持。sysfs具备文件系统的所有属性,而本文主要侧重其设备模型的特性,因此不会涉及过多的文件系统实现细节,而只介绍sysfs在Linux设备模型中的作用和使用方法。具体包括:sysfs和Ko
2015-05-12 15:04:29 339
转载 Linux设备模型(3)_Uevent
1. Uevent的功能Uevent是Kobject的一部分,用于在Kobject状态发生改变时,例如增加、移除等,通知用户空间程序。用户空间程序收到这样的事件后,会做相应的处理。该机制通常是用来支持热拔插设备的,例如U盘插入后,USB相关的驱动软件会动态创建用于表示该U盘的device结构(相应的也包括其中的kobject),并告知用户空间程序,为该U盘动态的创建/dev/目录下
2015-05-12 14:16:55 410
转载 Linux设备模型(2)_Kobject
1. 前言Kobject是Linux设备模型的基础,也是设备模型中最难理解的一部分(可参考Documentation/kobject.txt的表述)。因此有必要先把它分析清楚。2. 基本概念由“Linux设备模型(1)_基本概念”可知,Linux设备模型的核心是使用Bus、Class、Device、Driver四个核心数据结构,将大量的、不同功能的硬件设备(以及驱动该硬件设备的
2015-05-12 14:08:44 377
转载 Linux设备模型(1)_基本概念
1. 前言在“Linux内核的整体架构”中,蜗蜗有提到,由于Linux支持世界上几乎所有的、不同功能的硬件设备(这是Linux的优点),导致Linux内核中有一半的代码是设备驱动,而且随着硬件的快速升级换代,设备驱动的代码量也在快速增长。个人意见,这种现象打破了“简洁就是美”的理念,是丑陋的。它导致Linux内核看上去非常臃肿、杂乱、不易维护。但蜗蜗也知道,这不是Linux的错,Linux
2015-05-12 14:06:15 370
原创 蓝牙之-----------BluetoothChat
前段时间,做了个东西,通过蓝牙spp服务,将手机与蓝牙模块HC-06连接起来,利用了android自带的BluetoothChat聊天软件。蓝牙spp服务:蓝牙众多服务中的一种,它定义了如何设置虚拟串行端口以及如何连接两个蓝牙设备。两个设备通过虚拟串行端口连接,也就是把蓝牙当做串口线来使用,这样能够在蓝牙设备之间创建串口数据传输。因为android封装了接口,所以我们只需要通过UU
2015-05-05 19:08:39 944
转载 linux之----------epoll函数
1、基本知识 epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次。2、epoll接口 epoll操作过程需要三个接口,分别如下:
2015-04-14 15:36:35 316
转载 linux之-----------poll函数
1、基本知识 poll的机制与select类似,与select在本质上没有多大差别,管理多个描述符也是进行轮询,根据描述符的状态进行处理,但是poll没有最大文件描述符数量的限制。poll和select同样存在一个缺点就是,包含大量文件描述符的数组被整体复制于用户态和内核的地址空间之间,而不论这些文件描述符是否就绪,它的开销随着文件描述符数量的增加而线性增大。2、poll函数
2015-04-14 15:35:38 389
原创 linux之-----------select函数
int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *timeout);maxfd是需要监视的最大的文件描述符值+1;rdset,wrset,exset分别对应于需要检测的文件描述符的集合。函数返回值:负值:select错误0:等待超时,没有可读写或错误的文件正值:某些文件可读可写或出错
2015-04-14 13:59:10 440
转载 linux之----------exec函数族
(1)exec函数说明fork函数是用于创建一个子进程,该子进程几乎是父进程的副本,而有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新程序的内容替换了。另外,这里的可执行文件既可以是二进制文件,
2015-04-09 13:57:22 318
原创 adb push命令
如果要从电脑上传送文件到手机的话,使用adb push命令。格式:adb push 实例:adb push E:\libjnitest.so /system/lib可能遇到的错误:failed to copy ...........................: Read-only file system 解决办法:----->adb root------>a
2015-03-25 14:02:54 2972 1
转载 JNI遇到error: request for member 'FindClass' in something not a structure or union
error: request for member 'FindClass' in something not a structure or union可能的问题是:如果是c程序,要用 (*env)->如果是C++要用 env->ps:在linux下如果.c文件中用 “env->” 编译会找不到此结构,必须用“(*env)->”,或者改成.cpp文件,以 c++的方式来编
2015-03-25 13:52:44 392
转载 ubuntu下编译Android源码过程遇到问题解决
转载地址:http://blog.chinaunix.net/uid-24448954-id-3206913.htmlubuntu11.0.4 下编译Android2.3源码过程 最近几天修改 Android系统源码,遇到很多让人崩溃的问题。现在根据记忆写下,以后方便解决。 从2.3开始,jdk使用1.6版本及Linux系统使用64位,所以很
2015-03-19 08:47:30 701
原创 linux环境变量设置
1.修改/etc/profile文件如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。 (1)用文本编辑器打开/etc/profile(2)在profile文件末尾加入:JAVA_HOME=/usr/share/jdk1.5.0_05PATH=$JAVA_HOME/bin:$
2015-03-17 18:55:04 335
转载 Ubuntu下deb包的安装方法
deb是debian linus的安装格式,跟red hat的rpm非常相似,最基本的安装命令是:dpkg -i file.deb dpkg 是Debian Package的简写,是为Debian 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian的Linux发行版都使用dpkg,例如Ubuntu、Knoppix 等。以下是一些 Dpkg 的普通用法:
2015-03-17 16:27:11 349
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人