linux字符设备驱动程序学习实验记录

本文记录了Linux字符设备驱动的学习过程,包括字符设备与块设备的区别、设备节点创建、printk日志级别的理解与使用,以及无设备相关和设备相关的hello驱动程序的编写、编译与测试。通过实例介绍了如何创建设备节点、安装和卸载驱动,并通过测试程序验证驱动的正确性。
摘要由CSDN通过智能技术生成
  • 这是自己平常学习中曾经困惑的问题
    Linux系统下的字符型设备和块设备的区分?
    这里指的区分不是说如何从定义上进行区分,从实用的角度来看。打个比方就是,如果你自己写了个设备的驱动,或者从网上下载了一个驱动。安装好驱动之后,你没有相应的设备节点,要用到这样一条命令。mknod /dev/yourdevice  type Major Slave,这里就牵扯到类型是字符型的还是块设备型的。如何从驱动里看出来呢。传统驱动程序注册/注销字符型设备时用到register_chrdev/unregiter_chrdev,而对于块设备则是:register_blkdev/unregiter_blkdev, 而基于devfs的驱动程序也可以看出来,命令分别对应为:字符型devfs_register()和devfs_unregister,块设备devfs_blkregister和devfs_blkunregister。
    注释:在MagicArm上,上次帮同学看那个CAN总线驱动的时候要创建一个设备节点,我看了半天驱动程序也没有看出来是字符设备。后来只能试了。主要是不了解devfs_resgiter就是字符型设备的驱动。顺便说明下:平常的小型嵌入式实验中用到的块驱动是比较少的。
    上次虚拟机开机发现光盘打不开了,发现在/dev目录下找不到cdrom了,这种问题还是有时候会碰见的,虽然不是很常见。方法就是创建一个cdrom节点就可以了,当然设备号这些东西要去文档目录下看:/usr/src/linux-2.4/Documenttation/Devices.txt.
  • 关于printk
    printk(KERN_DEBUG “driver test”);
    在头文件<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值