设备模型1之前言

作者分享了一年前开始编写Linux内核驱动的经历,并逐渐认识到仅掌握表面知识是不够的。通过深入学习USB、PCI等模块,发现了kobject和sysfs的重要性,计划围绕设备模型撰写系列文章。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    一年前我写了人生中的第一个linux内核的驱动,是一个gpio驱动,用到了misc、ioctl、sem等。我写完之后天真地以为自己已具有开发驱动的能力。一年后的我看了到了usb和net驱动,我发现自己有很多不懂的地方。一开始我还不以为然,把那些不懂的看做黑盒,认为只要内核已完成的事就可以不去理解它,开发驱动只要对内核提供的接口进行填充就可以了。于是我有一个想法——写一些总线的模板,把驱动共同的部分(主要是不设计硬件的部分)写好,当要开发具体硬件驱动时,只要写一些对硬件操作的代码。这样写linux内核驱动时就和写裸机驱动差不多。我确实做了一些。

    但现在我发现,这种模式化的工作并不能让我对驱动有更深的认识。当然我并不否定我的想法,只是我觉得要先了解一些深层次的东西。

    这时我用眼睛透视usb、pci、scsi等系统提供的模块之后,我发现了kobject、sysfs。这才是一切驱动的摸板。接下来我要围绕设备模型写一些文章,希望对大家有帮助。先来点模式化的东西,小弟我智商低下、学术浅薄,如有谬论请大家原谅。再来点实际的,小弟我确实智商低下、学术浅薄,如有谬论请大家务必原谅。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值