字符设备驱动模块 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这个中断是写入了内核程序,所以内核也就是操作系统一直都跑,只要按键按下,触发下降沿,就会在命令框中出现你的中断程序结果

按下按键,触发下降沿

相关推荐
facaixxx20243 分钟前
应用镜像是什么?轻量应用服务器的镜像大全
linux·运维·服务器
火龙谷31 分钟前
【hadoop】master一键启动hadoop集群(高可用)
linux·hadoop
noravinsc1 小时前
Linux 下 Module 工具的介绍与使用
linux·运维·服务器
c无序1 小时前
【Docker-13】Docker Container容器
运维·docker·容器
Sunlight_7771 小时前
第五章 SQLite数据库:1、SQLite 基础语法及使用案例
java·linux·服务器·jvm·数据库·tcp/ip·sqlite
Silence4Allen1 小时前
Ubuntu 安装WPS Office
linux·ubuntu·wps
程序员JerrySUN2 小时前
驱动开发硬核特训 · Day 11(下篇):从 virtio_blk 看虚拟总线驱动模型的真实落地
linux·驱动开发·嵌入式硬件
半兽先生2 小时前
CentOS 中安装 vim
linux·centos·vim
云达闲人2 小时前
Proxmox VE 用户与权限管理命令大全
运维·网络·云原生·容器·proxmox·用户权限管理·命令大全
喆星时瑜3 小时前
【Docker】运行错误提示 unknown shorthand flag: ‘d‘ in -d ----详细解决方法
运维·docker·容器