驱动字典

获取设备号

alloc_chrdev_region(&devno, 0, DEV_CNT, "EmbedCharDev")

采用动态分配的方式获取设备号,次设备号为 0,设备名称为 EmbedCharDev,可通过命令 cat /proc/devices 查看,EV_CNT 为 1,当前只申请一个设备号。
移除设备时需要归还申请到的设备号,对应函数为 "unregister_chrdev_region()"

 

设备节点(设备文件)

出现在 /dev/ 路径下。创建设备节点并注册到文件系统方法可以用命令 ”mknod /dev/chrdev c 244 0”,也可以在驱动代码里通过函数 "device_create()" 创建设备节点。

移除设备时需要删除设备节点,对应的函数为 "device_destroy()",此函数还删除/sys/devices/virtual 目录下对应的设备目录


向内核提交一个设备

int cdev_add(struct cdev *p, dev_t dev, unsigned count)

cdev_add 函数用于向内核的 cdev_map 散列表添加一个新的字符设备

调用 cdev_del() 函数来释放散列表中的对象以及 cdev 结构本身

posted @   流水灯  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
历史上的今天:
2018-11-06 C语言#和##操作符使用方法
2017-11-06 Qt ------ QTabWidget
2017-11-06 Qt ------ CSS 长度单位
点击右上角即可分享
微信分享提示