Linux内核如何管理pcie,如何强制Linux内核枚举PCI-e总线?

小编典典

我想知道您使用的平台是什么:要在x86系统上运行,可以解决此问题(也称为hack)是让BIOS基本上在FPGA正常运行的任何总线,设备,功能上静态配置PCI设备。枚举设备并为其保留PCI空间(即使设备并不真正存在)。然后,在设备驱动程序中,您必须做一些额外的事情,例如在对fpga进行编程之后手动设置BAR和int行。当然,这需要修改BIOS,如果您与BIOS供应商合作,则可以与他们签约以为您进行更改;如果您与BIOS供应商合作,则将更加困难…也请记住我在x86上使用VxWorks进行工作,我们有一个AMI为我们的主板制作了自定义BIOS

如果没有BIOS,则考虑在引导加载程序中对其进行编程,那里已经可以从磁盘读取数据,并且添加GPIO功能可能不太难(假设您正在使用jtag和GPIO?),事实取决于您使用的引导加载程序可能已经可以执行GPIO?

修改内核以执行此操作的问题在于,必须在PCI枚举之前找到可以读取位文件的最佳位置…例如,如果磁盘设备驱动程序在PCI之后初始化,那么显然您必须执行一些操作仅在PCI枚举之前读取位文件而对内核进行的彻底更改,这可能会导致其他令人烦恼的问题…

您可能已经发现了另一种选择,并且对于开发时间来说这实际上是唯一可行的选择:接通系统电源,对fpga板进行编程,然后进行复位(例如,无需重新启动电源,例如:sudo现在重启),FPGA应该保持其配置,Linux应该枚举它。

2020-06-07

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值