|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 thinkfunny 于 2019-8-27 11:22 编辑
5 v, _" v+ Y! V* n! U7 P& i
7 `& D% T. G% k8 H7 p+ T" J" ~% \一、platform设备模型
# u2 t) A9 J6 S
' e+ h7 D, B, w: c4 _) N1 T& W从Linux 2.6起引入了一套新的驱动管理和注册机制,platform_device和platform_driver,Linux中大部分的设备驱动都可以使用这套机制。platform是一条虚拟总线。设备用platform_device表示,驱动用platform_driver进行注册,linux platform driver机制和传统的device driver机制(通过driver_register进行注册)相比,一个明显的优势在于platform机制将设备本身的资源注册进内核,由内核统一管理,在驱动中使用这些资源时通过platform device提供的标准结构进行申请并使用。这样提高了驱动和资源的独立性,并且具有较好的可移植性和安全性(这些标准接口是安全的)。
. D4 a4 z7 ]$ x0 v/ |$ Y+ [
: b/ `9 [- l! i2 n: B5 J9 a9 zPlatform机制本身使用并不复杂,由两部分组成:platform_device和platform_driver。通过platform机制开发底层驱动的大致流程为:8 H: o# m! H8 Y
/ w0 p; C) Z, f! O) V! @
( h. g5 O" D3 `, B
' @& @7 C, T+ ^& w; z; V4 c
" Y7 h% M0 v( k7 n. A1 o$ s; { |
|