字符设备驱动模块 dev和misc

字符设备驱动模块

用户空间和内核空间数据拷贝:

copy_from_user(); 用户空间数据传给内核

copy_to_user(); 内核数据传给用户空间

动态和静态分别编译

设置Kconfig属性

编译内核文件(静态、动态内核文件)

启动动态驱动模块

查看动态驱动模块

注销模块

开源协议CPL 写入后第一次向内核动态模块时,就不会提示不认识的警告

修改全文统一字符串

_exit()和exit

exit()刷新缓冲区_exit()不刷新缓冲区,printf内容存在缓冲区,程序结束才打印内容

第二种设备驱动编写方法 ---杂项(混杂)设备驱动misc

代码部分与dev方式区别,misc_register 函数会自动添加节点,不再需要mknod /dev/led c 255 0

,其他与dev模型一样

irq中断写入内核

其他部分与标准misc程序相同,由于按下k1这个中断是写入了内核程序,所以内核也就是操作系统一直都跑,只要按键按下,触发下降沿,就会在命令框中出现你的中断程序结果

按下按键,触发下降沿

相关推荐
珠海西格电力6 小时前
零碳园区工业厂房光伏一体化(BIPV)基础规划
大数据·运维·人工智能·智慧城市·能源
HerayChen6 小时前
HbuilderX 内存溢出报错
java·大数据·linux
呱呱巨基6 小时前
Linux 进程概念
linux·c++·笔记·学习
土星云SaturnCloud6 小时前
不止是替代:从机械风扇的可靠性困局,看服务器散热技术新范式
服务器·网络·人工智能·ai
liulilittle6 小时前
C++ 浮点数封装。
linux·服务器·开发语言·前端·网络·数据库·c++
Xの哲學6 小时前
Linux Miscdevice深度剖析:从原理到实战的完整指南
linux·服务器·算法·架构·边缘计算
你们补药再卷啦6 小时前
ai(二)ubuntu22.04配置环境
linux·ubuntu
yong15858553436 小时前
2. Linux C++ muduo 库学习——原子变量操作头文件
linux·c++·学习
泽02026 小时前
Linux信号专题
linux·运维·服务器
chuxinweihui7 小时前
数据链路层
运维·服务器·网络