arm驱动 有哪些

arm驱动 有哪些

arm驱动有:1、PCI总线驱动;2、RC驱动;3、PCI HOST Bridge控制器驱动;4、xilinx xdma ip驱动。pci总线驱动是指,符合UEFI 驱动模型的UEFI 驱动,符合UEFI驱动模型的UEFI驱动需要实现EFI_DRIVER_BINDING_PROTOCOL,

1、PCI总线驱动

pci总线驱动是符合UEFI 驱动模型的UEFI 驱动,符合UEFI驱动模型的UEFI驱动需要实现EFI_DRIVER_BINDING_PROTOCOL,这个protocol由 Supported(), Start(), S较好()三个函数和 Version, ImageHandle, DriverBindingHandle三个数据构成。

pci bus driver是只会在root bridge的handle上运行的符合UEFI驱动模型的总线驱动。

EFI_DRIVER_BINDING_PROTOCOL:

这个protocol是在主桥(host bridge)初始化的时候安装的,主桥会找出系统内所有的root bridges,并为每个root bridge安装EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL ,值得一提的是edk2中提到大多数系统下都只有1个主桥,但是UEFI spec中也有多个主桥的示例。为了便于理解,搞清楚系统内只有1个主桥的情况即可。

Supported():

PciBusDriverBindingSupported()判断某个控制器是否支持Pci 总线驱动是通过打开控制器的EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL 和EFI_DEVICE_PATH_PROTOCOL,如果都打开成功,说明控制器安装了EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL 和EFI_DEVICE_PATH_PROTOCOL,那么PciBusDriverBindingSupported()返回Success,该控制器支持pci总线驱动。

Start():

PciBusDriverBindingStart()只有在Supported()返回Success后才会被执行,而且并不是在前面提到的PciBusEntryPoint中执行的,PciBusEntryPoint只是安装EFI_DRIVER_BINDING_PROTOCOL,那么Start()是在哪里执行的呢?按照UEFI的设计,当boot service的ConnectController()被调用的时候才会执行DriverBinding中的supported,start。对于pci总线驱动来说,系统调用ConnectController的时候需要将所有安装了EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL 的控制器连接pci总线驱动,此时PciBusDriverBindingStart()开始。start()需要做的事情主要是需要利用主桥初始化过程中提供的EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL接口开始枚举pci 总线系统。

2、RC驱动

RC是PCIe体系结构的一个重要组成部件,也是一个较为混乱的概念。RC的提出与x86处理器系统密切相关,PCIe总线规范中涉及的RC也以x86处理器为例进行说明,而且一些在PCIe总线规范中出现的最新功能也在Intel的x86处理器系统中率先实现。事实上,只有x86处理器才存在PCIe总线规范定义的“标准RC”,而在多数处理器系统,并不含有在PCIe总线规范中涉及的,与RC相关的全部概念。

在x86处理器系统中,RC内部集成了一些PCI设备、RCRB(RC Register Block)和Event Collector等组成部件。其中RCRB由一系列的寄存器组成的大杂烩,而仅存在于x86处理器中;而Event Collector用来处理来自PCIe设备的错误消息报文和PME消息报文。RCRB的访问基地址一般在LPC设备寄存器上设置。

如果将RC中的RCRB、内置的PCI设备和Event Collector去除,该RC的主要功能与PCI总线中的Host Bridge类似,其主要作用是完成存储器域到PCI总线域的地址转换。但是随着虚拟化技术的引入,尤其是引入MR-IOV技术之后,RC的实现变得异常复杂。

RC需要完成以下工作内容。

初始化阶段:

​能向CPU申请资源,如PCI总线号、pci内存空间、pci I/O空间。

​能扫描到下游设备,并为设备分配资源。

工作阶段:

​能转换PCI地址空间与CPU地址空间。

​能将CPU的AXI访问信号转换成pcie TLP总线事务发送到下游总线(信号类型和地址空间转换)。

​能将pcie设备发出的MR/MW TLP事务转换成AXI访问信号送给CPU(信号类型和地址空间转换)。

​能接收PCIe设备中断(INTx、MSI、MSI-X),并反馈给CPU处理(级联中断)。

​能向CPU报告RC自身的异常状态。

3、PCI HOST Bridge控制器驱动

PCI HOST Bridge控制器驱动根据系统实际IO空间和Memory Map,为PCI设备指定IO空间和Memory空间的范围,并且产生PCI HOST Bridge Resource Allocation协议供PCI总线驱动使用。该驱动还对HostBridge控制器下所有RootBridge设备产生Handle(句柄),句柄安装了PCIRootBridgeProtocol。PCI总线驱动利用EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL枚举系统中所有PCI设备,发现并获取PCI设备的Option ROM,并且调用PCI HOST Bridge Resource Allocation协议分配PCI设备资源。

每一个PCI HOST Bridge Controller下面可以接一个或者多个PCI root Bridge,PCI Root Bridge会产生 PCI local Bus。PCI设备驱动不会使用PCI Root Bridge I/O协议访问PCI设备,而是会使用PCI总线驱动为PCI设备产生的PCI IO Protocol来访问PCI设备的IO/MEMORY空间和配置空间。PCI Root Bridge I/O协议(Protocol)是安装在Root Bridge设备的句柄上,同时在该handle上也会有表明Root Bridge设备的Device Path协议(Protocol)。

4、xilinx xdma ip驱动

Xilinx从15年前,V4系列开始,一直在PCIe的解决方案上深耕,提供众多的应用方案级的解决方案,方便用户专注于自己的应用。早期,Xilinx提供的有Application Notes,例如XAPP859,XAPP1052等,构建了基本的双向数据传输。当时一些第三方公司,类似于PLDA,NwLogic也出针对Xilinx FPGA的PCIe传输方案。

后来,Xilinx团队2017年附近推出XDMA解决方案,并持续增加功能、修正Bug,到目前为止,XDMA已经成为一个功能强大、成熟稳定的Xilinx FPGA解决方案。功能上涵盖了SG功能,AXI-Lite功能,多通道分离,AXI-MM和AXI-Stream支持等。稳定性上,经过4年的逐步完善,目前已经有众多的客户基于这套方案实现产品,涵盖医疗、电力、通讯、数据中心等各种应用。最重要的是,XDMA是免费的。

Xilinx XDMA支持的系列包括7系列,UltraScale系列,UltraScale+系列各种系列,界面配置基本相同。这里以KU040的一个板子做例程,其他系列可以参考。Vivado使用2018.3,Vivado的版本,做XDMA,建议尽量使用新一些的版本。详细的说明,参考Xilinx的文档PG195。

延伸阅读

PCI标准的特点

PCI设备具有独立的地址空间——PCI总线地址空间。PCI总线地址空间与存储器地址空间通过Host Bridge 隔离,CPU访问PCI设备时,必须通过Host Bridge进行地址转换;PCI设备访问主存储器时,同样需要Host Bridge进行地址转换。Host Bridge使得PCI设备和处理器可以方便地共享主存储器资源。在Host Bridge 中有许多缓存,使得CPU总线与PCI总线可以工作在各自的时钟频率上。

50万+团队都在用的项目协作工具一个工具满足团队所需:任务、项目、文档、IM、目标、 日历、甘特图、工时、审批以及更多,让工作更简单

智能化研发管理工具PingCode 是简单易用的新一代研发管理平台,让研发管理自动化、数据化、智能化,帮助企业提升研发效能

文章标题:arm驱动 有哪些,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/35012

相关文章

给电脑换显卡多少钱
官网体育在线365

给电脑换显卡多少钱

07-12 6050
嵩的笔顺
365娱乐游戏是哪个公司

嵩的笔顺

07-20 6046
vivo手机电筒怎么打开
beat365官方网站

vivo手机电筒怎么打开

06-27 4673
2017年国庆节
365娱乐游戏是哪个公司

2017年国庆节

07-24 4077
吃鸡游戏服务器老掉线什么原因
官网体育在线365

吃鸡游戏服务器老掉线什么原因

07-13 2714
国学经典背景音乐
365娱乐游戏是哪个公司

国学经典背景音乐

06-30 6373
故障排除指南:电视声音不工作
365娱乐游戏是哪个公司

故障排除指南:电视声音不工作

07-03 6035