【Linux驱动编程】Linux 字符驱动之platform框架

本文介绍了Linux平台驱动中的platform总线框架,包括为何使用platform总线、其优点及匹配驱动的方式。platform驱动实现涉及platform device和platform driver,重点在于设备注册、驱动注册以及探测和移除函数。此外,文章提供了测试和源码参考链接。
摘要由CSDN通过智能技术生成

1. platform总线驱动框架

1.1 为什么用platform总线

  Linux设备驱动框架模式是“驱动总线+设备驱动”,因此,一个设备驱动通常是挂接对应的设备总线上,如常用的总线USB、I2C、SPI、UART。对于嵌入式系统,存在很多外设并不存在实际的“总线”,只是依附在MPU内存空间中,如LED、按键、ADC等。当然,这一类驱动也可以不遵循“总线+驱动”的模式,弊端是不便于系统管理和增加代码繁琐。

  因此,Linux内核从2.6版本开始,提供一种虚拟总线,即“platform”总线,使得不存在实际总线的外设驱动遵循标准驱动框架,可以使用标准接口,便于内核管理,同时外设驱动程序也提供标准的访问接口,提高驱动和资源的独立性,降低驱动耦合度,使得驱动具备较高的可移植性和安全性。platform总线抽象出总线、设备、驱动即paltform_bus、platform_device和platform_driver,paltform_bus Linux内核已经提供,而驱动工程师要做的工作是实现platform_device和platform_driver,大多数情况下下我们写驱动其实就是适配platform总线驱动。


1.2 platform总线优点

【1】platform 机制将设备本身的资源注册进内核,由内核统一管理,在驱动程序中用使用这些资源时,通过 platform device 提供的标准接口进行申请并使用;

【2】实现设备与驱动的分离,

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Acuity.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值