|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 thinkfunny 于 2019-8-27 11:22 编辑 # Y( ^" u7 ]) }
! x% i3 `4 z) `一、platform设备模型; j9 J+ S/ m9 K8 n
5 _' S# L6 z/ x7 ~( E' X
从Linux 2.6起引入了一套新的驱动管理和注册机制,platform_device和platform_driver,Linux中大部分的设备驱动都可以使用这套机制。platform是一条虚拟总线。设备用platform_device表示,驱动用platform_driver进行注册,linux platform driver机制和传统的device driver机制(通过driver_register进行注册)相比,一个明显的优势在于platform机制将设备本身的资源注册进内核,由内核统一管理,在驱动中使用这些资源时通过platform device提供的标准结构进行申请并使用。这样提高了驱动和资源的独立性,并且具有较好的可移植性和安全性(这些标准接口是安全的)。
& w& I- s( J& f: E9 F! M8 m, x+ K' \% S" W
Platform机制本身使用并不复杂,由两部分组成:platform_device和platform_driver。通过platform机制开发底层驱动的大致流程为:8 O6 _1 s" I4 F/ x( }
; _+ ^* K0 r9 M4 m) r" ]9 y1 b" C
7 ?+ V( e9 q, U1 O5 @, j" r: \
0 Y& y* Y9 Y4 ]" i
+ V# u3 f' T- o( f' x4 |+ j/ g |
|