一,linux amba使用原因
一些芯片的设备树上的很多片内外设的compatible属性为compatible = "arm,primecell",且在内核源码中找不到compatible匹配的驱动,这是因为这些驱动使用了arm提供的amba协议。AMBA是由ARM Holdings开发的一种广泛使用的片上互连规范,它为系统级芯片SoC设计中的各种IP模块(如微控制器、处理器、存储控制器、直接内存访问控制器和其他外设)提供了连接和互连框架。
ARM决定采用AMBA的原因有:
1.标准化:AMBA提供了一种统一的、标准化的片上互连规范。这意味着在使用AMBA的系统中,不同的IP模块可以遵循相同的通信协议和接口规范,从而简化了系统集成的复杂性。
2.可扩展性:AMBA规范具有良好的可扩展性,能够满足不同系统设计的需求。它提供了多种规范,如高性能的AHB、低功耗的APB和高带宽的AXI,使得设计人员可以根据系统的要求选择合适的总线协议。
3.高性能:AMBA规范针对高性能和高带宽应用进行了优化。通过支持诸如突发传输、流水线和无序事务等功能,AMBA可以提供高效的数据传输,满足处理器和外设之间的快速通信需求。
4.灵活性:AMBA规范允许设计人员根据具体应用需求进行定制。通过使用AMBA的IP模块,可以轻松地进行系统扩展和修改,以适应不同的设计要求和市场需求。
5.行业广泛应用:AMBA是业界广泛采用的片上互连规范之一。许多芯片设计和系统集成都使用AMBA作为其互联标准,这为开发者提供了更多的工具和支持资源。
综上所述,ARM选择采用AMBA的主要原因是为了提供一种标准化、可扩展且高性能的片上互连解决方案