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