Chinaunix首页 | 论坛 | 博客
  • 博客访问: 291175
  • 博文数量: 65
  • 博客积分: 1490
  • 博客等级: 上尉
  • 技术积分: 835
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-16 20:00
文章分类

全部博文(65)

文章存档

2015年(1)

2012年(3)

2010年(7)

2009年(54)

我的朋友

分类: LINUX

2009-03-30 10:25:49

 

 /*

*By Neil Chiao ()

*转载请注明出处:neilengineer.cublog.cn

*欢迎到“新星湾()”指导

*/

 

  使用proc文件系统来读取内核中的信息非常有用。

  实例:在开发I2C相关驱动时,在内核启动后用户空间想要知道I2C相关寄存器的值时,可以这样做:

 

1)在I2C驱动模块中定义实际调用的函数

 

static int read_i2cinfo_from_proc(char *buf, char **start, off_t offset, int count,
                             int *eof, void *data)
{
    int len=0;
    len +=sprintf(buf+len,"I2C reg is 0x%x\n",reg);
    return len;
}
 
2)在I2C模块(如I2C算法驱动模块)初始化时建立一个proc entry
 
create_proc_read_entry("readi2cinfo", 0, 0, read_i2cinfo_from_proc, NULL);
//readi2cinfo为/proc目录中的文件名字
//read_i2cinfo_from_proc是实际调用的函数,在1)中定义
 
3)在用户空间查看当前I2C寄存器的值
 
$cat /proc/readi2cinfo
 
 
 
阅读(1674) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~