自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 TP调试遇到的问题

一:i2c已经挂载,但是不通 可能情况: (1)i2c地址不对 (2)上电问题:电压不对,时序不对 (3)硬件问题:pin脚不对 二:i2c通了,但是没有中断 可能情况: (1)中断脚不对 (2)中断gpio模式不对 三:开始报点,但是触摸屏不工作 可能情况: (1)报点函数顺序不对   (2)在probe中最大坐标值设置错误 (3)屏的firmware有

2015-10-20 16:23:52 1653 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 286

转载 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 485

转载 __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 504

转载 Linux设备模型(7)_Class

1. 概述 在设备模型中,Bus、Device、Device driver等等,都比较好理解,因为它们对应了实实在在的东西,所有的逻辑都是围绕着这些实体展开的。而本文所要描述的Class就有些不同了,因为它是虚拟出来的,只是为了抽象设备的共性。 举个例子,一些年龄相仿、需要获取的知识相似的人,聚在一起学习,就构成了一个班级(Class)。这个班级可以有自己的名称(如295),但如果离开

2015-05-12 16:09:22 331

转载 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 357

转载 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 592

转载 Linux设备模型(4)_sysfs

1. 前言 sysfs是一个基于RAM的文件系统,它和Kobject一起,可以将Kernel的数据结构导出到用户空间,以文件目录结构的形式,提供对这些数据结构(以及数据结构的属性)的访问支持。 sysfs具备文件系统的所有属性,而本文主要侧重其设备模型的特性,因此不会涉及过多的文件系统实现细节,而只介绍sysfs在Linux设备模型中的作用和使用方法。具体包括: sysfs和Ko

2015-05-12 15:04:29 321

转载 Linux设备模型(3)_Uevent

1. Uevent的功能 Uevent是Kobject的一部分,用于在Kobject状态发生改变时,例如增加、移除等,通知用户空间程序。用户空间程序收到这样的事件后,会做相应的处理。 该机制通常是用来支持热拔插设备的,例如U盘插入后,USB相关的驱动软件会动态创建用于表示该U盘的device结构(相应的也包括其中的kobject),并告知用户空间程序,为该U盘动态的创建/dev/目录下

2015-05-12 14:16:55 392

转载 Linux设备模型(2)_Kobject

1. 前言 Kobject是Linux设备模型的基础,也是设备模型中最难理解的一部分(可参考Documentation/kobject.txt的表述)。因此有必要先把它分析清楚。 2. 基本概念 由“Linux设备模型(1)_基本概念”可知,Linux设备模型的核心是使用Bus、Class、Device、Driver四个核心数据结构,将大量的、不同功能的硬件设备(以及驱动该硬件设备的

2015-05-12 14:08:44 359

转载 Linux设备模型(1)_基本概念

1. 前言 在“Linux内核的整体架构”中,蜗蜗有提到,由于Linux支持世界上几乎所有的、不同功能的硬件设备(这是Linux的优点),导致Linux内核中有一半的代码是设备驱动,而且随着硬件的快速升级换代,设备驱动的代码量也在快速增长。个人意见,这种现象打破了“简洁就是美”的理念,是丑陋的。它导致Linux内核看上去非常臃肿、杂乱、不易维护。但蜗蜗也知道,这不是Linux的错,Linux

2015-05-12 14:06:15 353

原创 蓝牙之-----------BluetoothChat

前段时间,做了个东西,通过蓝牙spp服务,将手机与蓝牙模块HC-06连接起来,利用了android自带的BluetoothChat聊天软件。 蓝牙spp服务: 蓝牙众多服务中的一种,它定义了如何设置虚拟串行端口以及如何连接两个蓝牙设备。两个设备通过虚拟串行端口连接,也就是把蓝牙当做串口线来使用,这样能够在蓝牙设备之间创建串口数据传输。因为android封装了接口,所以我们只需要通过UU

2015-05-05 19:08:39 910

转载 linux之----------epoll函数

1、基本知识   epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy只需一次。 2、epoll接口   epoll操作过程需要三个接口,分别如下:

2015-04-14 15:36:35 294

转载 linux之-----------poll函数

1、基本知识   poll的机制与select类似,与select在本质上没有多大差别,管理多个描述符也是进行轮询,根据描述符的状态进行处理,但是poll没有最大文件描述符数量的限制。poll和select同样存在一个缺点就是,包含大量文件描述符的数组被整体复制于用户态和内核的地址空间之间,而不论这些文件描述符是否就绪,它的开销随着文件描述符数量的增加而线性增大。 2、poll函数

2015-04-14 15:35:38 365

原创 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 417

转载 linux之----------exec函数族

(1)exec函数说明 fork函数是用于创建一个子进程,该子进程几乎是父进程的副本,而有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,在执行完之后,原调用进程的内容除了进程号外,其他全部被新程序的内容替换了。另外,这里的可执行文件既可以是二进制文件,

2015-04-09 13:57:22 296

原创 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 2910 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 378

转载 ubuntu下编译Android源码过程遇到问题解决

转载地址:http://blog.chinaunix.net/uid-24448954-id-3206913.html ubuntu11.0.4 下编译Android2.3源码过程     最近几天修改 Android系统源码,遇到很多让人崩溃的问题。现在根据记忆写下,以后方便解决。     从2.3开始,jdk使用1.6版本及Linux系统使用64位,所以很

2015-03-19 08:47:30 678

原创 linux环境变量设置

1.修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。   (1)用文本编辑器打开/etc/profile (2)在profile文件末尾加入: JAVA_HOME=/usr/share/jdk1.5.0_05 PATH=$JAVA_HOME/bin:$

2015-03-17 18:55:04 318

转载 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 332

空空如也

空空如也

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

TA关注的人

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