易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux Platform Device and Driver

    

Linux 2.6
起引入了一套新的驱动管理和注册机制 :Platform_device
和 Platform_driver

     Linux
中大部分的设备驱动,都可以使用这套机制 ,
设备用
Platform_device
表示,驱动用
Platform_driver
进行注册。

     Linux platform driver
机制和传统的 device driver
机制 (
通过 driver_register
函数进行注册 )
相比,一个十分明显的优势在于
platform
机制将设备本身的资源注册进内核,由内核统一管理,在驱动程序中使用这些资源时通过 platform device
提供的标准接口进行申请并使用。这样提高了驱动和资源管理的独立性,并且拥有较好的可移植性和安全性 (
这些标准接口是安全的 )
。 
    Platform
机制的本身使用并不复杂,由两部分组成: platform_device
和 platfrom_driver


   
通过 Platform
机制开发发底层驱动的大致流程为 :
定义 platform_device ->
注册 platform_device->
定义 platform_driver->
注册 platform_driver
。 
   
首先要确认的就是设备的资源信息,例如设备的地址,中断号等。

在 2.6
内核中 platform
设备用结构体 platform_device
来描述,该结构体定义在
kernel\include\linux\platform_device.h
中,
struct platform_device {
const char *
name;
u32 id;
struct device
dev;
u32
num_resources;
struct resource
* resource;
};
 
   
该结构一个重要的元素是 resource
,该元素存入了最为重要的设备资源信息,定义在
kernel\include\linux\ioport.h
中,

struct resource {
const char
*name;
unsigned long
start, end;
unsigned long
flags;
struct resource
*parent, *sibling, *child;
};
定义好了 platform_device
结构体后就可以调用函数 platform_add_devices
向系统中添加该设备了,之后可以调用
platform_device_register()
进行设备注册。要注意的是,这里的 platform_device
设备的注册过程必须在相应设备驱动加载之前被调用,即执行 platform_driver_register
之前 ,
原因是因为驱动注册时需要匹配内核中所以已注册的设备名。
在驱动初始化函数中调用函数 platform_driver_


相关文档:

实战Linux Bluetooth编程(三) HCI层编程

1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI)  就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......

linux的简单sh程序设计

干嘛学习 Scripts
这个问题可有趣的很了,我为什么要学习 scripts 呢?不要学可不可以呀!?呵呵!如果您只想要『会用』 Linux 就好的话,那么这一个部分确实可以先跳过去不看也没关系,不过,如果您想要更加的了解与控制 Linux ,使 Linux 运作更顺畅之外,还可以高枕无忧的让你的 Linux Server 在 Internet 上面提供相关 ......

Linux中实现快速搜索文件

主要有下面三种方式:
1.whereis 文件名
特点:快速, 执行准确查找。
2.find / -name 文件名
查出很多东西,有很多“Permission Denied".
#find / -name php.ini
3.locate 文件名
最快的方法.执行模糊查找。
注意:第一次使用该命令,可能需要更新数据库,按照提示的命令执行一下就好了.
这里就要说说locate命令 ......

linux fedora12 qt4 eclipse

i didn't test.
 under fedora12
install qt eclipse when install the operation system
qt version is 4.5.3
eclipse version is 3.5.1
download qt-eclipse-integration-linux.x86<version>.tar.gz
after that
Find your eclipse/plugins folder.
If you installed Eclipse to /usr/local, you wil ......

Linux系统信息查看命令大全

http://tech.idv2.com/2008/01/11/linux-sysinfo-cmds/
最近看了一些Linux命令行的文章,在系统信息查看方面学到不少命令。
想起以前写过的一篇其实Linux这样用更简单

发现这些系统信息查看命令也可以总结出一篇小小的东西来了。
另外这里
还有非常多的命令,
可以作为参考。
系统
# uname -a # ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号