自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (8)
  • 收藏
  • 关注

原创 Linux设备驱动模型三 kset

1 kset数据结构kset的定义在前文已有描述,我们再回顾一下:struct kset { /*与子kobject的entry成员组成链表*/ struct list_head list; /*自旋锁*/ spinlock_t list_lock; /*kobject*/ struct kobject kobj; const struct kset_uevent_ops

2015-12-03 16:03:53 1600

原创 Linux设备驱动模型二 kobject

1 kobject1.1 kobject数据结构kobject是sysfs文件系统的基础数据结构,它定义在include/linux/kobjec.h中struct kobject { /*名称*/ const char *name; /*与与所属的kset(list成员)组成链表*/ struct list_head entry;

2015-12-03 14:40:19 2406

原创 Linux设备驱动模型一 sysfs

1 Linux设备模型Linux 2.5的内核引入了一种新的设备模型,目的是对计算机上的所有设备进行统一的管理。 它包含以下基础结构:类型说明设备Devices 设备是此模型中最基本的类型,以设备本身的连接按层次组织设备驱动Device Drivers 在一个系统中安装多

2015-12-03 14:18:39 2933

原创 Sublime Text 3 Windows下简单安装配置

1.到官网下载windows的安装文件:http://www.sublimetext.com/32.按步骤安装。3.安装package control。1)点击菜单栏的【View】->【Show Console】,在Console窗口中输入以下代码,按回车键:import urllib.request,os,hashlib; h = 'eb2297e1a458f

2015-04-04 00:31:28 8384

原创 Android 4.2充电画面关键代码分析

系统进入充电模式时,显示 充电画面,充电画面的代码在/system/core/charger/charger.c,下面对其关键代码进行分析1)结构体/*power_supply信息*/struct power_supply { /*链表节点*/ struct listnode list; /*power_supply名称,如rk-ac/rk-usb/rk-

2015-01-20 14:11:32 2991

原创 几种序列化库

1.google protocal buffer:http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/http://www.cnblogs.com/stephen-liu74/archive/2013/01/02/2841485.html2.Google FlatBuffer:http://google.githu

2015-01-11 16:33:56 3286

原创 Android App层通过JNI从驱动获取Input Event

1 概述 尝试在App层直接读取驱动的Input Event,获取触屏事件(本文获取的是电磁笔触屏事件),而不通过Android的Input Framework.  2 架构3 实现3.1 JNI层共有以下几个文件: 3.1.1 input_pen.h 首先看input_pen.h #ifndef _INPUT_PEN_H

2014-12-29 11:13:47 12117 11

原创 android 源码下载

http://blog.csdn.net/liangxiaozhang/article/details/19543261http://www.cnblogs.com/kobe8/p/3990297.html

2014-12-02 18:40:29 934

转载 Google Protocol Buffer 的使用和原理

原文地址:http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/

2014-10-17 11:54:42 1472

转载 给 C 实现一个垃圾收集器

原文转自云风的Blog:http://blog.codingnow.com/2008/06/gc_for_c.html

2014-10-17 11:16:07 1029

原创 飞思卡尔i.MX 6Quad Android 4.2.2的中兴和Ublox 3G驱动移植

1      概述平台:freescale i.MX 6Quad 4核开发板Sabre-sd(不带屏幕)操作系统:Android 4.2.2_r1(代码补丁为android_jb4.2.2_1.1.0-ga_source)内核:3.0.353G模块:中兴MG3732和UbloxLISA-U130 2      中兴MG3732模块移植2.1    准备准备一张可用的

2013-09-14 09:27:18 8761 2

原创 飞思卡尔i.MX 6Quad Android 4.2.2的LVDS屏幕驱动移植

1      概述平台:freescale i.MX 6Quad 4核开发板MCIMX6Q-SDB(不带屏幕)操作系统:Android 4.2.2_1内核:3.0.35显示屏:LG的LP101WX1-SLN2显示屏参数:分辨率1280*800,色彩18位,色彩数262K,时钟频率69.3M Hz接口:LVDS0 2      移植步骤2.1    硬件连接显

2013-09-14 09:13:54 28294

原创 飞思卡尔i.MX 6Quad Android 4.0.4的3G驱动移植

1      概述平台:freescale i.MX 6Quad 4核开发板Sabrelite操作系统:Android 4.0.4内核:3.0.153G模块:中兴MG3732和UbloxLISA-U130 2      中兴MG3732模块移植2.1    准备准备一张可用的联通3G卡,放入SIM卡卡槽,接着把中兴MG3732开发板通过usb连接到主板上。

2013-07-26 16:58:07 7821

原创 基于飞思卡尔i.MX 6Quad Sabrelite开发板的触摸屏调试

1      概述本次任务是在飞思卡尔i.MX 6Quqd Sabrelite开发板上调试触屏驱动,触屏芯片是Goodix的gt828芯片,触屏接口是I2C。操作系统:android 4.0.4内核版本:3.0.15 2      调试步骤2.1    硬件连接2.1.1    开发板硬件接口开发板已提供独立的接口用于触屏,其示意图如下: 它提供了一

2013-06-20 11:50:18 12814 7

原创 飞思卡尔IMX6处理器的GPIO配置方式

在linux或android系统中,假如我们要配置飞思卡尔IMX6处理器的GPIO管脚,比如是GPIO_19这个管脚,那么要像这样:#define MX6Q_PAD_GPIO_19__GPIO_4_5 \ (_MX6Q_PAD_GPIO_19__GPIO_4_5 | MUX_PAD_CTRL(NO_PAD_CTRL))其中_MX6Q_PAD_GPIO_19__GPIO_4_5定义

2013-06-06 20:46:41 34226 3

原创 基于飞思卡尔imx6 sabrelite开发板的android lvds屏幕驱动调试

一、概述      1、 飞思卡尔 imx6的显示屏驱动架构:     2、目标:     因sabrelite开发板本身已提供LVDS接口,目标屏幕是LG的LP101WX1-SLN2,其主要参数为:分辨率:1280*800色彩:18位色彩数:262K时钟频率:69.3M Hz     二 移植过程1、首先把屏幕的接口接到sabrel

2013-06-04 17:13:02 33234 12

原创 ubuntu编译android 4.04源码的错误解决方法

在ubuntu 11.10或12.10 64位下编译android 4.04源码,出现的错误和解决方法如下:/****************************************************/错误::0:0: 错误: “_FORTIFY_SOURCE”重定义 [-Werror]解决方法:修改build/core/combo/HOST_linux-x8

2013-05-21 14:20:19 3570 2

原创 cannot find -lstdc++解决方案

今天在ubuntu12.10 64位下编译32位android 4.04源码时报错:/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.5.4/libstdc++.so when searching for -lstdc++/usr/bin/ld: skipping incompatible /usr/

2013-04-22 19:11:06 13797 1

原创 在64位win7下安装ubuntu12.10

因公司的电脑是i5的核,64位win7,在安装ubuntu 12.10的过程中出现了一些问题,现记录下整个正确的安装过程。1.下载ubuntu-12.10-desktop-amd64.iso2.下载easyBCD3.启动EasyBCD,点击【Add New Entry】-> 【NeoGrub】->【Install】,安装完后点击【Configure】,在弹出的记事本文件中用以下内容替换

2013-04-16 15:58:09 1980

转载 100个数,范围是0(1)~99 ,其中有一个重复,求重复的数字

100个数,范围是0(1)~99 ,其中有一个重复,求重复的数字1、有一个数组a[100],其中存储了1-99的整数,且只有一个数字是重复的。要求实现一个算法给出这个重复的数。 题目的意思是总共有100个数字,1-99必须都有,然后有一个数是重复的。 方法1:有个结论如下:1^2^3……98^99 = 0,因此该题目可以利

2013-01-05 19:41:35 6590

原创 Android2.3.4陀螺仪移植

一 背景1.需求   陀螺仪硬件并非接在android cpu上,所以不存在陀螺仪驱动,而陀螺仪数据是通过用户空间的一个c程序传过来。2.思路   修改陀螺仪hal层,在hal层构建socket客户端,在数据源的c程序上构建socket服务端。一旦有数据,c程序通过socket发送数据到陀螺仪hal层,并上报。二 步骤1.把device/samsung/crespo

2012-08-02 18:26:32 7556 1

原创 基于socket简单通信协议实现

1 场景当用socket进行进程通信,传输数据的时候,会出现以下一些情况:(1)完整的一条消息被系统拆分成几条发送,例如要发送一条消息:Hello World ,却被系统分成两条消息发送,分别为:Hello 和 World。(2)几条独立的消息被系统合成一条消息发送,例如要发送两条消息分别为:a memory from my past和it’s been a year,却被系统和成一条

2012-06-16 12:58:08 22956 5

原创 Tizen SDK安装和使用(四)-SDB工具使用

简介SDB是由Tizen SDK提供的用于管理设备(包括模拟器)的命令行工具,支持与多个设备进行通信,可以用来传输文件,远程命令执行,调试器端口选择,打印日志信息等,其功能与Android下的ADB工具较为相似。使用SDB的命令格式为:$ sdb [option] [parameters]或$ sdb devicesOptions-d:连接唯一的用usb连接的ti

2012-04-14 17:07:17 10246 1

原创 Tizen安装和使用(三)-开发工具IDE使用

一 Tizen开发工具简介Tizen SDK提供一整套的开发工具,为开发者在设备上开发基于HTTML5的Web程序服务,包括:(1)Tizen IDE  一个界面与Eclipse相似,从Eclipse移植过来的集成开发工具。开发者可以用它来创建Tizen工程,设计界面,编写程序代码,编译,运行和调试等。(2)Tizen 模拟器Tizen模拟器是基于QEMU的模拟器,开发者可以在

2012-04-14 14:42:32 11370 2

原创 Tizen SDK安装和使用(二)-Tizen平台简介

Tizen平台简介  Tizen平台为众多的设备提供一个标准的软件平台。下面我们将要对Tizen软件平台架构的描述,仅包含支持智能手机和平板电脑的部分,其他设备类型的架构描述将会在不久后定义。Tizen软件平台支持web程序,它为web应用程序的开发提供了丰富的API接口。  下图描述了Tizen平台针对智能手机和平板电脑的架构,它分为3个层次:应用层,核心层和内核。

2012-04-14 11:51:29 9303

原创 Tizen SDK安装和使用(一)-Tizen SDK下载

Tizen是由LiMo Foundation和 Linux Foundation发起,与英特尔,三星等针对智能手机、平板电脑、智能电视、上网本以及车内信息娱乐系统等多种设备,共同开发的开源操作系统。该系统整合了Limo和Meego两个系统,将具备两者原有的优势。Tizen sdk的beta relealese已于今天发布,赶紧去尝试一下。一 在32位ubuntu下安装tizen sdk

2012-04-13 19:40:28 9533 2

原创 ubuntu下bochs安装使用

bochs是ia32(x86)架构的模拟器,可运行于多个平台下。ubuntu下的安装过程如下:(1)安装vgabios  bochs-x bximage$ sudo apt-get install vgabios bochs-x bximage(2)安装bochs从官网下载源码:bochs-2.4.5.tar.gz,解压后生成bochs-2.4.5目录,接着进入该目录

2012-04-02 15:07:52 6986

原创 如何在android的jni线程中实现回调

JNI回调是指在c/c++代码中调用java函数,当在c/c++的线程中执行回调函数时,会导致回调失败。其中一种在Android系统的解决方案是:把c/c++中所有线程的创建,由pthread_create函数替换为由Java层的创建线程的函数AndroidRuntime::createJavaThread。假设有c++函数:void *thread_entry(voi

2012-03-16 11:38:12 21398 8

原创 jni数组使用(二)

上一篇说到在java中调用c++函数中,如何使用jni数组。下面谈一谈在回调中如何使用jni数组。假如有一个java函数:public void Receive(char buffer[],int length)我们需要在c++中调用这个函数,在jni中该如何实现数组的转换?(本篇不涉及jni的回调函数的实现机制)实现如下:static void receive_callb

2012-03-16 10:48:22 6821

原创 jni数组使用(一)

假设有这样一个java函数:public int Send(char buffer[],int length)这个函数需要调用c/c++函数int send(unsigned char *buf, int len)实现,那么用JNI该如何实现?首先分析java的参数char buffer[ ],它在jni中的对应类型为jcharArray,说明从java传到jni的参数类型

2012-03-16 10:37:52 17823 4

原创 linux socket进程通信

socket进程通信与网络通信使用的是统一套接口,只是地址结构与某些参数不同。一。创建socket服务端的流程如下:(1)创建socket,类型为AF_LOCAL或AF_UNIX,表示用于进程通信: int server_fd; int client_fd;//client file descriptor struct sockaddr_un server_addr; st

2012-03-16 10:08:39 26231 1

原创 android 2.3 gps移植杂记(一)

近期任务是把产品的gps适配到android2.3源码中,一般的移植做法是:从串口中读取gps nema数据,在gps硬件适配层(HAL)对数据进行解析并上报到Framework层。我的任务需求不同,对串口的读写操作统一由一个串口代理负责,gps只需与串口代理通信,获取nema数据。    概括来说,gps移植有以下几个工作:(1)在串口代理中实现socket进程通信服务端,负责把串口代理

2012-03-16 09:11:59 8504 4

原创 linux内核链表使用

Linux内核链表的核心思想是:在用户自定义的结构A中声明list_head类型的成员p,这样每个结构类型为A的变量a中,都拥有同样的成员p,如下:struct A{int property;struct list_head p;}其中,list_head结构类型定义如下:struct list_head {struct list_head *next,*prev;

2012-03-16 08:46:27 8894

转载 epoll使用

原文出自:http://blog.csdn.net/zhengjie19/article/details/2260963epoll使用        epoll的工作原理是,你如果想进行IO操作时,先向epoll查询是否可读或可写,如果处于可读或可写状态后,epoll会通过epoll_wait函数通知你,此时你再进行进一步的recv或send操作。        epoll仅仅是一

2012-02-09 10:13:00 1419

原创 Android系统Gps分析(一)

1 GPS架构2 GPS分析2.1 头文件头文件定义在:hardware/libhardware/include/hardware/gps.h,定义了GPS底层相关的结构体和接口GpsLocationGPS位置信息结构体,包含经纬度,高度,速度,方位角等。/** Flags to indicate which values are

2012-01-13 14:49:17 48524 8

原创 如何在Android下使用Binder

1概述Binder是基于OpenBinder,在Android系统上使用的进程间通信机制。Binder基于Client-Server通信模式,本质上可以理解为它实现了Client对Server对象的远程调用。比如,有某个binder对象A位于Server中,该对象提供了一套函数用以实现对服务的请求,而在一个或多个Client中包含对象A的引用,Client通过该引用可以调用远端Se

2012-01-09 18:31:46 4431 1

原创 在ubuntu11.10下安装Audacious3.1.1

在ubuntu11.10下安装Audacious3.1.1Audacious是Linux下的音乐播放软件,我尝试过在ubuntu下安装多个音乐播放软件,发现还是Audacious比较好用,下面介绍下其安装使用过程。1.下载audacious从audacious官网http://audacious-media-player.org/download分别下载:audacio

2011-12-23 20:43:05 1806

原创 如何在Ubuntu11.10 下安装kscope

一 kscope简介kscope是在Linux下的一个源代码查看工具,与Windows下的SourceInsight相似。二 安装步骤1.下载kscope从sourceforge下载kscope的最新版本1.9.4,下载链接为:http://sourceforge.net/projects/kscope/files/kscope/1.9.4/2.开始安装

2011-12-20 09:54:53 3382 5

原创 如何在32位ubuntu11.10 下编译android 4.0.1源码和goldfish内核

一准备工作1安装javasdk6(1)从jdk官方网站http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u29-download-513648.html下载jdk-6u29-linux-i586.bin文件。(2)执行jdk安装文件$chmod a+x jdk-6u29-linux-i586.bin

2011-12-20 09:40:41 4333 1

原创 如何在Android下使用JNI

1.引言我们知道,Android系统的底层库由c/c++编写,上层Android应用程序通过Java虚拟机调用底层接口,衔接底层c/c++库与Java应用程序间的接口正是JNI(JavaNative Interface)。本文描述了如何在ubuntu下配置AndroidJNI的开发环境,以及如何编写一个简单的c函数库和JNI接口,并通过编写Java程序调用这些接口,最终运行在模拟器上的过程

2011-12-20 09:22:15 115091 6

Erlang入门手册

Erlang入门手册,需要学习Erlang的同学可以下载。

2014-10-17

ASP实用技术——网络数据库应用系统设计_2.rar

分两部分,记得下载一部分:数据库应用系统设计_1.rar

2007-12-02

ASP实用技术——网络数据库应用系统设计_1.rar

分两部分,记得下载第二部分:数据库应用系统设计_2.rar

2007-12-02

《数据结构(C语言描述)》习题答案1.rar

《数据结构(C语言描述)》课后习题答案

2007-12-02

数据结构算法——Visual C++ 6.0程序集.rar

数据结构算法的C++实现,详细代码。

2007-12-02

MATLAB程序设计教程电子教案.rar

ppt格式电子教案,共分15章.

2007-12-02

《ASP动态网页设计实用案例教程》-许新华-电子教案-4688.rar

ppt格式电子教案,共分9章,内容翔实,帮助快速学习和初步掌握asp网页设计.

2007-12-02

《JSP程序设计教程》 课件

共分10章,循序渐进.供初学者学习,老鸟参考。

2007-12-02

空空如也

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

TA关注的人

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