Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Linux内核驱动之I/O内存

Linux内核驱动之I/O内存

几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种: (1)I/O映射方式(I/O-mapped) 典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间",CPU通过专门的I/O指令(如X86的IN和OUT指令)来访问这一空间中的地址单元。 (2)内存映射方式(Me...
根据USB设备硬件信息获取Android设备型号

根据USB设备硬件信息获取Android设备型号

前些日子,自己接手专门为Android设备开发的数据恢复软件,第一次作为项目经理带队进行项目开发。其中为了解决设备和型号的对应关系,用于区分当前接入系统的设备是USB设备,并且是Android设备而不是通常的USB设备或者其他的手机设备。故需要获得设备的硬件设备序号,根据硬件信息特征码来和Android特征码数据库进行匹配,来取得设备的型号。首先根据硬件的GUID获取USB类设备集句柄//USB设备的GUIDstatic const GUID GUID_D...
Android的数据存储与IO - 手势

Android的数据存储与IO - 手势

Android的数据存储与IO - 手势关于手势的知识,我是第一次接触,是Android提供的另类的IO可以进行手势检测、通过指定手势完成相应的动作、可以自行添加手势到手势库,也可以识别手势下面是一个实例:通过手势缩放图片创建项目:GestureZoom运行项目效果如下:Activity文件:GestureZoompackagewwj.gesturezoom; importandroid.app.Activity; importandroid.graph...
Android底层开发中通过网络使用adb的方法

Android底层开发中通过网络使用adb的方法

Android的adb服务默认情况下监听USB,一般我们在开发中是通过USB连接到目标机上。但是如果目标机只有一个USB口,我们又需要把这个USB用于其它目的(比如用于OTG口插U盘)的时候怎么办?其实adb是支持通过网络访问的,在需要的时候,只需按下列步骤操作即可通过网络连接adb服务。(1)首先还是正常地通过USB连接目标机,执行adb shell进入(2)设置adb监听端口: #setprop service.adb.tcp.port 5555(3)...
Android TextView一行只显示一个文字

Android TextView一行只显示一个文字

项目需要实现这样一个效果.一开始觉得挺简单的,不就是设置一个TextView的Android:ems="1"属性吗.设置完成,运行之后才发现,我的TextView每行显示的是2个文字.然后就在网上找资料.但资料很少.我也不知道是大家在平时碰到这种效果机会少呢还是这个效果就是菜鸟级别,入门就懂的.不管是哪种,我都把我实现的方法给记录下来吧.话说,就在我焦头烂额还是没能解决这个问题时,我跟部门设计同事说:"你设计的这个图片太大了,造成一行最少也要显示2个文字"...
Android 应用退出时释放应用所占内存

Android 应用退出时释放应用所占内存

做Android项目的时候发现一个问题:当应用程序退出了,点击"设置"查看应用程序,界面显示着可以点击"强制关闭".我认为造成这样的原因是还有开启的activity没有被destroy,然后做调试,之后发现开启的activity应该是全部都被destroy了.但是结果还是显示可以点击"强制关闭".由于这个问题我发现了一个更加严重的问题,那就是,在我应用程序退出之后,系统并没有释放掉我应用程序所占内存.之后在网上查解决办法.说是有两个:方式一:Intenti...
Java中关于年龄的计算

Java中关于年龄的计算

有时在程式实作中有这样的需求,如客户想通过某人的出生日期来准确的得到此人从出生那一刻到现在的年龄,如28岁10个月23天2小时或28Y10M23D2H等这样的确切数据,如果我们能过程式自已实作,可能会花费较大的力气,并且容易出问题,像少一天或多一天的情况出现,最近列意见在Apache common的组件库中发现了现成的API函数可调用,现推荐给大家,希望有所帮助:1.class来源:package org.apache.commons.lang.time....
Android启动过程及各个镜像间的关系

Android启动过程及各个镜像间的关系

Android启动过程Android在启动的时候,会由UBOOT传入一个init参数,这个init参数指定了开机的时候第一个运行的程序,默认就是init程序,这个程序在ramdisk.img中。可以分析一下它的代码,看看在其中到底做了一些什么样的初始化任务,它的源文件在system/core/init/init.c中。 它会调用到init.rc初始化文件,这个文件在out/target/product/generic/root下,我们在启动以后,会发现根目...
Linux下的USB HUB驱动

Linux下的USB HUB驱动

一:前言继UHCI的驱动之后,我们对USB Control的运作有了一定的了解.在接下来的分析中,我们对USB设备的驱动做一个全面的分析,我们先从HUB的驱动说起.关于HUB,usb2.0 spec上有详细的定义,基于这部份的代码位于linux-2.6.25/drivers/usb/core下,也就是说,这部份代码是位于core下,和具体设备是无关的,因为各厂商的hub都是按照spec的要求来设计的.二:UHCI驱动中的root hub记得在分析UHCI驱...
Android 中@override和如何导入第三方jar包

Android 中@override和如何导入第三方jar包

1.关于Android 中@override 报错问题处理最近在导入一些工程时候老会报 @override 这样出错,这是jdk的问题,@Override是JDK5就已经有了,但有个小小的Bug,就是不支持对接口的实现,认为这不是Override 而JDK6修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override。首先要确保安装了jdk 1.6,然后,在eclipse中修改配置,在 Windows->Preferences...
Linux Shell编程入门

Linux Shell编程入门

从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修功课之一。 Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/...
tslib移植到TQ2440

tslib移植到TQ2440

在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。一、编译环境linux环境:Ubuntu-10.10交叉编译:4.3.3arm板子:tq2440二、交叉编译# ./autogen.sh# ./configure --host=arm-lin...
<< 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 >>