您的位置:首页 > 运维架构 > Linux

Linux设备驱动程序-字符设备驱动程序

2014-09-10 21:56 169 查看
1.查看主设备号,次设备号

进入/dev目录执行ls -l,第四,五列分别为主次设备号,10,180,1,5,这些是主设备号,而60,63这些就是次设备号

130|shell@android:/dev # ls -l

crw-rw-r-- system radio 10, 60 1969-12-31 21:00 alarm

crw-rw-rw- root root 10, 63 1969-12-31 21:00 ashmem

crw-rw-rw- root root 10, 59 1969-12-31 21:00 binder

crw-rw-rw- root root 180, 194 1969-12-31 21:00 btusb0

2.保存设备编号

在linux/types.h中定义了dev_t来保存设备编号:

typedef __u32 __kernel_dev_t;

typedef __kernel_dev_t dev_t;

这是个32位的数,前12位保存主设备号,后20位保存次设备号

MAJOR(dev_t dev)获取主设备号

MINOR(dev_t dev)获取次设备号

MKDEV(int major,int minor)将主次设备号转换成dev_t类型

3.建立一个字符设备

首先要获得设备编号

//liunux/fs.h

extern int register_chrdev_region(dev_t, unsigned, const char *);

第三个参数name 会
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: