- 博客(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 720
转载 Linux设备驱动之Ioctl控制
大部分驱动除了需要具备读写设备的能力之外,还需要具备对硬件控制的能力。 一、在用户空间,使用ioctl系统调用来控制设备,原型如下:int ioctl(int fd,unsigned long cmd,...);/*fd:文件描述符cmd:控制命令...:可选参数:插入*argp,具体内容依赖于cmd*/ 用户程序所作的只是通过命令码告诉驱动程序它
2012-08-22 19:01:17 685
转载 scull工作过程
scull(simple character utility for loading localities,"区域装载的简单字符工具") 是一个操作内存区域的字符设备驱动程序,这片内存区域就相当于一个字符设备。 scull的优点在于他不和任何硬件相关,而只是操作从内核分配的一些内存。任何人都可以编译和运行scull,而且还看看可以将scull移植到linux支持的所有计算机平台上。
2012-08-21 15:56:58 907
原创 原子操作 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 21096 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 1236
转载 Linux字符驱动中动态分配设备号与动态生成设备节点
在驱动程序中初始化入口函数中,向内核注册一个设备后,往往要注册一个类例如static int __init mydriver_init(void) //驱动程序的初始化{ …… MYDRIVER_Major = register_chrdev(0, DEVICE_NAME, &mydriver_fops); //向内核注册一个设备,返回值为注册的主设备号
2012-08-14 22:25:57 1934
转载 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 796
转载 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 396
转载 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 764
转载 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 740
转载 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 875
转载 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 11017 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 1017
原创 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 1250
转载 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 11812 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 807
转载 在linux下如何将ttyS0改成别的号,比如ttyS4什么的,我的系统只有一个串口。
不明白楼主为什么要这样做,不过是有办法的。ttyS0只是代表一个设备节点,它存在主设备号和次设备号。一个设备节点包含了这两个设备号,Linux系统通过这两个号唯一的确定一个驱动实例。一个实际存在的串口只能够存在一个驱动实例。大多数的驱动实例只支持单一现成的读写操作,所以不允许多个程序同时打开设备文件,典型的一种就是串口,它只允许一个程序打开。一个驱动实例对应一组唯一的主设备号和次设备号
2012-08-01 23:29:53 6743 1
slickedit v18 18.0.1.2 序列号 破解
2013-11-26
slickedit 2013 v18 win linux mac
2013-11-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人