|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 thinkfunny 于 2019-8-27 11:22 编辑 , w" h$ ^# v; q
R. ]/ m# R1 P A
一、platform设备模型
0 ?. {7 k1 D) {, {, u; a
# c" ?0 a+ M) R ^& \3 [8 ^; m从Linux 2.6起引入了一套新的驱动管理和注册机制,platform_device和platform_driver,Linux中大部分的设备驱动都可以使用这套机制。platform是一条虚拟总线。设备用platform_device表示,驱动用platform_driver进行注册,linux platform driver机制和传统的device driver机制(通过driver_register进行注册)相比,一个明显的优势在于platform机制将设备本身的资源注册进内核,由内核统一管理,在驱动中使用这些资源时通过platform device提供的标准结构进行申请并使用。这样提高了驱动和资源的独立性,并且具有较好的可移植性和安全性(这些标准接口是安全的)。. E2 @, V: V# l/ N
2 z4 u, [! O! I- Z5 Q; [Platform机制本身使用并不复杂,由两部分组成:platform_device和platform_driver。通过platform机制开发底层驱动的大致流程为:( a" n1 g4 ]: \! k" S
4 r7 K, o0 Z( v" O8 `4 {7 v/ ^! ]) e
: x* G- T0 C7 y: u" T7 O% R: Y. J" x" \' E, ?( w& S) c* ]9 G% i$ n
9 F) C; J. c3 p; T
|
|