|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 thinkfunny 于 2019-8-27 11:22 编辑 ! K4 |% s2 w; x/ e, X& {
: Q$ F$ b# h$ Y0 s8 L
一、platform设备模型/ z) k7 N( \: A* B# N- M' r
8 k# b# a$ {. D& T0 v从Linux 2.6起引入了一套新的驱动管理和注册机制,platform_device和platform_driver,Linux中大部分的设备驱动都可以使用这套机制。platform是一条虚拟总线。设备用platform_device表示,驱动用platform_driver进行注册,linux platform driver机制和传统的device driver机制(通过driver_register进行注册)相比,一个明显的优势在于platform机制将设备本身的资源注册进内核,由内核统一管理,在驱动中使用这些资源时通过platform device提供的标准结构进行申请并使用。这样提高了驱动和资源的独立性,并且具有较好的可移植性和安全性(这些标准接口是安全的)。; _, L; @5 j7 }+ j
9 g8 w: d6 C. g/ |5 K
Platform机制本身使用并不复杂,由两部分组成:platform_device和platform_driver。通过platform机制开发底层驱动的大致流程为:
/ k* t* f( o2 ]4 U" J* o( Z& N; a- ?9 s
, u D* n2 H8 u. D% e7 V
@7 g" B+ G0 f% G8 P7 W& P* U8 e Y& b8 r& }" e; A
: Z y" X0 Q) w, O
|
|