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, ZLWZ, ZLW认证作者
上一篇 2023年1月9日 下午9:17
下一篇 2023年1月9日 下午9:18

相关推荐

  • 国企的oa

    关于国企的OA系统,系统设计时注重信息安全、功能整合、操作便捷性,同时遵循定制化和标准化相结合的原则。在实践中,OA系统展现了其在提升日常办公效率、优化流程管理、增强数据分析能力上的巨大潜力。国企往往肩负行业领先和模范作用,因此OA系统的实施也体现了其对内部管理现代化的追求。 一、OA系统在国企中的…

    2024年1月11日
    18400
  • 信息系统项目管理师从事什么工作

    针对“信息系统项目管理师从事什么工作”这一问题,信息系统项目管理师的工作职责主要涵盖了1、项目规划与组织、2、项目资源管理、3、进度控制与监督、4、风险管理、5、质量保证和控制、6、沟通与协调、7、成本预算和控制。在这些工作中,项目规划与组织尤为关键,因为它设定了项目的基础框架,包括目标设定、任务分…

    2024年1月8日
    19300
  • 适合大量项目的轻量级管理办法有哪些

    适合大量项目的轻量级管理办法有:一、经典法;二、敏捷方法;三、适应方法;四、关键路径法;五、PERT方法;六、精益管理方法。经典的项目管理方法是目前项目管理中使用最多的方法,也被称为“逐层向下法”,因为每一个阶段完成后才能继续下一个阶段。 一、经典法 经典的项目管理方法是目前项目管理中使用最多的方法…

    2023年4月24日
    26300
  • devops运维团队做什么

    掌握DevOps运维团队的职责范畴对优化软件交付至关重要。DevOps运维团队的核心任务包括1、确保基础设施自动化,2、实现持续集成与部署,3、监控系统性能,4、保障系统安全与合规,5、应对紧急问题快速反应。特别是基础设施自动化,可以显著加快开发周期,提升软件交付速度与效率。通过编写代码来管理服务器…

    2024年3月26日
    2000
  • 为什么使用低代码软件?五大好处盘点!

    市场的改变推动着企业踏入数字化转型得行列。但是数字化转型并不是一件口头上说说就能完成的易事。很多企业,特别是中小型企业面临这技术资源匮乏、成本预算压力和实际可落地的解决方案的难题。并且,企业的业务部门经常会有各种各样的需求,但是很难有效地同步给IT部门,这就产生需求难以满足的问题。 低代码开发平台的…

    2023年8月2日
    36300
  • 主数据相比较数据仓库,到底有什么不同

    主数据相比较数据仓库,到底有什么不同:事实上,主数据与数据仓库有些相似,但主数据不能完全相当于数据仓库。主数据和数据仓库有一个共同点,即集成。由于主数据是跨业务、跨系统、跨部门的共享数据,因此需要集中管理各业务系统共享的数据,减少数据冗余和不一致的问题。 一、主数据相比较数据仓库,到底有什么不同 事…

    2023年6月4日
    36500
  • 项目管理师证怎么考

    项目管理师(PMP®—Project Management Professional)资质考评是对项目管理专业人士能力的一种国际认证。考取该证书需掌握广泛的知识体系、实操技能与经验。一、报名条件包括受教育水平和具体的项目管理经验。二、备考材料,涉及官方指南(PMBOK® Guide)及其他辅导资料。…

    2024年1月8日
    15800
  • 皮肤管理都做什么项目

    开门见山地概括,皮肤管理包括了1、基础清洁护理、2、深层滋润、3、痤疮控制、4、抗衰老治疗、5、色斑治疗、6、敏感皮肤管理。这些项目应对不同的皮肤问题和需求,以保持皮肤健康与美丽。例如,基础清洁护理不仅仅是日常的洗脸,更包括定期进行的深层清洁,去除污垢和死皮细胞,预防痤疮和黑头的发生,在此基础上还要…

    2024年1月8日
    20500
  • Python和Java哪个更适合做自动化测试

    Python更适合做自动化测试。从应用的角度来说,Java仍然是时下最主流的编程语言,尤其是在安卓项目中,其地位更是不容小觑。但是,换个角度,就业内大家使用率更高的、自动化测试领域普适度更高的,当属Python莫属了。 从应用的角度来说,Java仍然是时下最主流的编程语言,尤其是在安卓项目中,其地位…

    2023年1月31日
    43500
  • 如何衡量团队协作的效率和效果

    在当今的商业环境下,团队协作是企业成功的关键。衡量团队协作的效率和效果涉及多种方面,其中目标达成率、团队成员满意度、交付速度、创新能力和资源利用率是五个核心指标。目标达成率直观地反映了团队设定目标和实现成果的对比情况。团队成员满意度则衡量成员对协作过程的感受和参与度。交付速度指团队完成任务的速率,是…

    2023年11月28日
    61200

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部