arm驱动 有哪些

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

arm驱动 有哪些-Worktile社区

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总线可以工作在各自的时钟频率上。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Z, ZLW的头像Z, ZLW
上一篇 2023年1月9日 下午9:17
下一篇 2023年1月9日 下午9:18

相关推荐

  • 开源文档协作工具:2024年10款评测

    国内外主流的10款开源文档协作平台对比:PingCode、Worktile、蚂蚁笔记(Leanote)、Wizard、Kooteam、ShowDoc、MrDoc、DooTask、语雀、WookTeam 。 在今天的数字化时代,寻找一个能够提高团队合作效率并确保信息共享流畅的解决方案,成了许多企业和个…

    2024年8月5日
    700
  • 企业如何智选知识管理工具?2024年8大精选

    本文将分享2024年8大优质企业知识管理工具:PingCode、Worktile、飞书文档、语雀、石墨文档、有道云笔记、Confluence、Document360。 很多公司都面临信息过载,难以将散落各处的知识有效整合和应用。这不仅影响决策效率,还可能导致重要信息的丢失。为了解决这一痛点,企业知识…

    2024年8月5日
    300
  • 产品经理秘籍:2024年9大主流需求管理工具

    本文将分享9款产品经理使用的主流需求管理工具:PingCode、Worktile、Tapd、禅道、Teambition、Testin、JIRA、Jama Connect、Wrike。 挑选一个能够高效精准地捕捉和管理需求的工具,对于推动项目成功至关重要,很多产品经理都面临着如何从众多选项中选择最适合…

    2024年8月5日
    500
  • 选择客户管理crm系统必看:全球15家顶级供应商综合比较

    对比的客户管理CRM系统包括:纷享销客、Zoho CRM、销售易、用友CRM、Salesforce、Microsoft Dynamics 365、销帮帮CRM、HubSpot、Oracle CRM、悟空CRM、神州云动CRM、红圈CRM、SAP CRM、Odoo、OroCRM。 一个合适的CRM系统…

    2024年8月5日
    800
  • 项目竣工资料管理软件有哪些

    项目竣工资料管理软件有许多,其中最为出色的要数PingCode和Worktile。这两款软件以其优秀的性能和功能,赢得了用户的青睐。简单来说,PingCode是一款专门为开发者设计的协作平台,强调代码质量、团队协作和敏捷开发。而Worktile则是一款面向企业的项目和任务管理工具,帮助团队更好地协作…

    2024年8月5日
    300

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部