易截截图软件、单文件、免安装、纯绿色、仅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;
};
 
下面举s3c2410平台的i2c驱动作为例子来说明:
/* arch/arm/mach-s3c2410/devs.c */
/* I2C */
static struct resource s3c_i2c_resource[] = {
         [0] = {
                   .start = S3C24XX_PA_IIC,
                   .end = S3C24XX_P


相关文档:

linux内核调试指南

一些前言
作者前言
知识从哪里来
为什么撰写本文档
为什么需要汇编级调试
***第一部分:基础知识***
总纲:内核世界的陷阱
源码阅读的陷阱
代码调试的陷阱
原理理解的陷阱
建立调试环境
发行版的选择和安装
安装交叉编译工具
bin工具集的使用
qemu的使用
initrd.img的原理与制作
x86虚拟调试环境的建立
ar ......

Linux的日志基础

配置文件
/etc/syslog.conf
常用的几个log文件
1、/var/log/boot.log(自检过程)
2、/var/log/cron   (crontab守护进程)
3、/var/log/maillog  (发送到系统或从系统发出的电子邮件的活动)
4、/var/log/syslog  (它只记录警告信息,常常是系统出问题的信息,所以更应该关注该文件)
5、/va ......

linux学习笔记 0.导论(概述,学习方法篇)

一.为什么学linux
1.性能卓越
开源,免费,稳定,安全,处理多并发
2.工作方面:
linux系统管理员
linux程序员(linux软件工程师,linux嵌入式开发)
二.流程
第一阶段:linux平台上的开发,包括vi,gcc,gdb,make,jdk,tomcat,mysql..linux基本操作
第二阶段:加厚C功底或java
第三阶段:《unix环境高级编程》
第 ......

linux下抓数据包


linux系统如何抓取数据包进行分析
(2009-08-30 23:59:37) linux上有两种比较好的抓包工具:ethereal和tcpdump
对于ethereal,有图形界面和字符界面两种方式。
到linux系统上执行rpm -qa | grep ethereal-gnome可查看是否安装了图形版本
但是如果服务器上没有xwin图形环境,那么就只能用字符界面了
命令:tethereal
......

Linux下QT图形界面开发(一)——概述(1)


Qt是一个跨平台的C++图形用户界面库,.由挪威TrollTech公司出品,目前包括Qt/X11,基于Frambuffer的Qt Embedded,快速开发工具Qt Designer几国际化工具Qt Linguist等.Qt支持Unix及Linux系统,还支持Windows NT/Windows 2k及Qindows 95/98平台.Qt的良好封装机制使其模块化程度非常高,可重用性 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号