自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (5)
  • 收藏
  • 关注

转载 I2C

i2c_add_driver函数用法 http://wuyidaxuezhb.blog.163.com/blog/static/185337391201211133547701/Linux I2C驱动完全分析(一)http://www.cnblogs.com/armlinux/archive/2011/04/30/2390827.html

2012-08-30 20:45:18 705

转载 Linux设备驱动之Ioctl控制

大部分驱动除了需要具备读写设备的能力之外,还需要具备对硬件控制的能力。 一、在用户空间,使用ioctl系统调用来控制设备,原型如下:int ioctl(int fd,unsigned long cmd,...);/*fd:文件描述符cmd:控制命令...:可选参数:插入*argp,具体内容依赖于cmd*/  用户程序所作的只是通过命令码告诉驱动程序它

2012-08-22 19:01:17 652

转载 scull工作过程

scull(simple character utility for loading localities,"区域装载的简单字符工具")  是一个操作内存区域的字符设备驱动程序,这片内存区域就相当于一个字符设备。  scull的优点在于他不和任何硬件相关,而只是操作从内核分配的一些内存。任何人都可以编译和运行scull,而且还看看可以将scull移植到linux支持的所有计算机平台上。

2012-08-21 15:56:58 882

原创 原子操作 atomic_cmpxchg()/Atomic_read()/Atomic_set()/Atomic_add()/Atomic_sub()/atomic_clear_mask()

所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位。因此这里的原子实际是使用了物理学里的物质微粒的概念。原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义在内核源码树的include/asm/atomic.h文件中,它们都使用汇编语言实现,因为C语言并不能实现这样的操作。原子操作主要用于实

2012-08-21 14:55:55 20940 1

转载 字符设备 register_chrdev_region()、alloc_chrdev_region() 和 register_chrdev()

函数原型:  int alloc_chrdev_region(dev_t *dev,  unsigned int -firstminor,   unsigned int -count,   char *name)头文件 : 函数功能:  动态分配设备编号函数参数说明:  该函数需要传递给它指定的第一个次设备号firstminor(一般为0)和要分配的设备

2012-08-19 14:50:31 1215

转载 Linux字符驱动中动态分配设备号与动态生成设备节点

在驱动程序中初始化入口函数中,向内核注册一个设备后,往往要注册一个类例如static int __init mydriver_init(void) //驱动程序的初始化{     ……    MYDRIVER_Major = register_chrdev(0, DEVICE_NAME, &mydriver_fops); //向内核注册一个设备,返回值为注册的主设备号

2012-08-14 22:25:57 1902

转载 Android中HAL如何向上层提供接口总结

参考文献:http://blog.csdn.net/luoshengyang/article/details/6573809http://blog.csdn.net/hongtao_liu/article/details/6060734建议阅读本文时先浏览以上两篇文章,本文是对上两篇文章在HAL对上层接口话题的一个总结.1 什么是HALHAL的全称是

2012-08-08 15:52:52 786

转载 android

http://www.armfans.net/redirect.php?fid=36&tid=2398&goto=nextoldsethttp://www.cnledw.com/blog/1284174/article-46850.html

2012-08-07 21:17:14 387

转载 Android HAL实例解析(3)

5、第二种方法:经过Manager调用service    HAL、JNI两层和第一种方法一样,所以后面只分析其他的层次。(1)Manager (属于Framework层)    APP通过这个Manager和service通讯。文件:mokoid-read-only /frameworks/base/core/java/mokoid/hardware/LedMan

2012-08-07 21:14:42 736

转载 Android HAL实例解析(2)

4、第一种方法:直接调用service方法的实现过程    下面分析第一种方法中,各层的关键代码。(1)HAL层    一般来说HAL moudle需要涉及的是三个关键结构体:struct hw_module_t;struct hw_module_methods_t;struct hw_device_t;    下面结合代码说明这3个结构的用

2012-08-07 21:13:32 720

转载 Android HAL实例解析(1)

一、概述    本文希望通过分析台湾的Jollen的mokoid 工程代码,和在s5pc100平台上实现过程种遇到的问题,解析Andorid HAL的开发方法。     二、HAL介绍    现有HAL架构由Patrick Brady (Google) 在2008 Google  I/O演讲中提出的,如下图。      Android的H

2012-08-07 20:43:45 859

转载 cdev_alloc/cdev_init、cdev_add、cdev_del

内核中每个字符设备都对应一个 cdev结构的变量,下面是它的定义:linux-2.6.22/include/linux/cdev.hstruct cdev {struct kobject kobj;          // 每个 cdev都是一个 kobjectstruct module *owner;       //指向实现驱动的模块const struct file_op

2012-08-07 14:26:54 10890 1

转载 Android下的Android.mk文件

3rdparty/atv/led/special/driver/Android.mk+led_test.c./mk sp8810ga u adr 3rdparty/atv/special/driver   编译出来的可执行文件位于 out/target/product/hsdroid/system/bin 目录下。LOCAL_MODULE_TAGS 选项说明LOCAL_MODULE_T

2012-08-06 19:21:27 1005

原创 cdev、file operations 结构体

1、实现 cdev、file operations 结构体2、申请设备号:alloc_chrdev_region(...)3、为 cdev 申请空间 kmalloc(sizeof(struct cdev),GFP_KERNEL)4、关联 cdev 、file operations , cdev_init(&dev->cdev,&file_operations)5、关联设备号和cde

2012-08-03 11:42:58 1232

转载 cdev结构 and MKDEV

MKDEV 功能:将主设备号和次设备号转换成dev_t类型cdev结构在Linux2.6内核中一个字符设备用cdev结构来描述,其定义如下:struct cdev {        struct kobject kobj;        struct module *owner;   //所属模块        const struct file_operations*

2012-08-02 12:43:22 11745 2

转载 Unix编程之size_t、ssize_t

对于赶时间的朋友,只看第一段就好了。   首先,我非常肯定以及确定的告诉你ssize_t是有符号整型,在32位机器上等同与int,在64位机器上等同与long int,有没有注意到,它和long数据类型有啥区别?其实就是一样的。size_t 就是无符号型的ssize_t,也就是unsigned long/ unsigned int (在32位下),不同的编译器或系统可能会有区别,主要是因为

2012-08-02 09:37:21 782

转载 在linux下如何将ttyS0改成别的号,比如ttyS4什么的,我的系统只有一个串口。

不明白楼主为什么要这样做,不过是有办法的。ttyS0只是代表一个设备节点,它存在主设备号和次设备号。一个设备节点包含了这两个设备号,Linux系统通过这两个号唯一的确定一个驱动实例。一个实际存在的串口只能够存在一个驱动实例。大多数的驱动实例只支持单一现成的读写操作,所以不允许多个程序同时打开设备文件,典型的一种就是串口,它只允许一个程序打开。一个驱动实例对应一组唯一的主设备号和次设备号

2012-08-01 23:29:53 6517 1

slickedit color theme solarized

slickedit color theme solarized

2013-11-27

slickedit bitstream vera fonts

slickedit bitstream vera fonts

2013-11-27

slickedit v18 18.0.1.2 序列号 破解

亲测windows7 32,ubuntu12.0.4 64 内附序列号生成软件 read_me.txt为详细使用方法。

2013-11-26

slickedit 2013 v18 win linux mac

slickedit 2013 v18 (18.0.1.2) 包含win mac linux 32/64 但个人使用的是linux 64位的 se_18000102_linux64.tar.gz

2013-11-22

UNIX环境高级编程

UNIX环境高级编程(第二版中文) 影印版

2012-12-24

空空如也

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

TA关注的人

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