- 博客(6)
- 收藏
- 关注
原创 字符设备的注册(cdev_int()与cdev_add())
1.cdev_init()。初始化cdev对象的一些成员void cdev_init(struct cdev *cdev, const struct file_operations *fops){ memset(cdev, 0, sizeof *cdev); INIT_LIST_HEAD(&cdev->list); kobject_init(&cdev->kobj, &ktype_cdev_default); cdev->op
2021-07-25 22:46:36 2111 2
原创 设备号的构成与分配
Linux内核用主设备号来定位对应的设备驱动程序,而次设备号则由驱动程序使用,用来标识它所管理的若干同类设备Linux用dev_t类型变量来标识一个设备号,这是一个32位无符号整数#define MAJOR(dev) ((unsigned int) ((dev) >> MINORBITS))#define MINOR(dev) ((unsigned int) ((dev) & MINORMASK))#define MKDEV(ma,mi) (((ma) << M
2021-07-25 18:44:41 453
原创 笔记:字符设备文件的OPEN/CLOSE操作
应用程序的open函数是如何调用到驱动文件中file_operations结构体中的open函数。用户空间open函数的原型: int open(const char *filename,int flags,mode_t mode);filename:表示要打开的文件名(/dev/demodev);flags:指定文件的打开或者创建模式mode:表示文件的访问权限返回值:fd文件描述符fd是一个int型变量,会被用户程序中的read,write,ioctl等函数使用。...
2021-07-25 00:25:16 954
原创 linux设备驱动开发笔记 (mknod做了什么)
Linux所有设备文件都在/dev目录下。在/dev目录下手动创建设备文件节点的命令:mknod /dev/demodev c 2 0mknod命令---> 调用sys_mknod①; --->ext3_mknod②...
2021-07-24 22:24:24 412
原创 kobject.c 注释不完全版
/* * kobject.c - library routines for handling generic kernel objects * * Copyright (c) 2002-2003 Patrick Mochel <mochel@osdl.org> * Copyright (c) 2006-2007 Greg Kroah-Hartman <greg@kroah.com> * Copyright (c) 2006-2007 Novell Inc. * * T.
2021-07-17 14:32:27 278
原创 Linux kist.c源码注释
/* * klist.c - Routines for manipulating klists. * * Copyright (C) 2005 Patrick Mochel * * This file is released under the GPL v2. * * This klist interface provides a couple of structures that wrap around * struct list_head to provide explicit lis.
2021-07-16 20:11:46 111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人