平台平台可以理解为一个虚拟的总线,主要描述soc上的资源,这些资源的共同点是CPU可以直接访问的资源。
为什么要用这个平台总线,平台设备,平台驱动?
1个linux设备,驱动总要挂载在一条总线上面,比如usb I2C I2S SPI,对于这种设备它们本身就已经有一条对应的总线了,但在嵌入式系统中soc上会有很多外设控制器,比如led,这个LED并没有对应的标准总线让它挂载。所以linux内核就创建了一条虚拟总线(平台总线)来让它挂载。
平台驱动和传统的驱动相比,有什么优势?
平台驱动机制会将设备资源注册到的Linux内核里面,由Linux的内核统一管理,这样就可以通过统一的接口来操作设备。在更换平台的时候,只需要修改平台驱动的设备资源配置就可以了,而不用修改驱动,移植性非常好。