register_chrdev() //早期版本的设备注册使用函数,调用该函数后就可以向系统申请主设备号
unregister_chrdev() //解除原先的注册,主设备号和次设备号都不大于255
dev_t //高12位表示主设备号,低20位表示次设备号
MAJOR,MINOR //宏,分别获取主次设备号
MKDEV //实现主次设备号组合
register_chrdev_region() //静态分配设备号
alloc_chrdev_region() //动态分配设备号
unregister_chrdev_region() //释放已分配的设备号
---------------------最新版本的字符设备注册---------------------------
cdev_alloc() //向系统申请分配struct cdev结构
cdev_init() //初始化已分配到的结构和file_operations结构关联起来
cdev_add() //将设备号和struct cdev结构进行关联
cdev_del() //删除一个设备
unregister_chrdev() //解除原先的注册,主设备号和次设备号都不大于255
dev_t //高12位表示主设备号,低20位表示次设备号
MAJOR,MINOR //宏,分别获取主次设备号
MKDEV //实现主次设备号组合
register_chrdev_region() //静态分配设备号
alloc_chrdev_region() //动态分配设备号
unregister_chrdev_region() //释放已分配的设备号
---------------------最新版本的字符设备注册---------------------------
cdev_alloc() //向系统申请分配struct cdev结构
cdev_init() //初始化已分配到的结构和file_operations结构关联起来
cdev_add() //将设备号和struct cdev结构进行关联
cdev_del() //删除一个设备
本文介绍了字符设备驱动的基础概念,包括早期版本中使用的register_chrdev()等函数,以及现代Linux内核中cdev_alloc()等函数的使用方法。还涵盖了设备号的分配与释放流程。
451

被折叠的 条评论
为什么被折叠?



