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

按下按键,触发下降沿

相关推荐
爱学习的白杨树1 分钟前
什么是MVCC?
java·服务器·数据库
娶不到胡一菲的汪大东18 分钟前
Shell脚本
linux·运维·ubuntu
xserver234 分钟前
ensp 基于静态NAT发布公司网站服务器,
运维·服务器
QYpiying36 分钟前
服务器中了挖矿病毒-应急响应
运维·服务器
[T]1 小时前
Linux自动挂载与卸载USB设备
linux
上海运维Q先生1 小时前
面试题整理14----kube-proxy有什么作用
运维·面试·kubernetes
RealName-Wang1 小时前
联想 P368-C3 thinkstation服务器介绍
运维·服务器
wy02_1 小时前
Linux下载RabbitMQ,并解决Github拒绝访问443的问题
linux·rabbitmq·github
sone121381 小时前
计算机网络(第8版)第四章 网络层(4.7.1~4.7.3)
服务器·网络·计算机网络
DO_Community1 小时前
DigitalOcean Droplet 云服务器:新增自动扩展池功能
服务器