在 Linux 内核 5.3 上安装 Broadcom 的 PCI/PCIe 软件开发工具包

Posted

技术标签:

【中文标题】在 Linux 内核 5.3 上安装 Broadcom 的 PCI/PCIe 软件开发工具包【英文标题】:PCI/PCIe Software Development Kits from Broadcom installation on Linux Kernel 5.3 【发布时间】:2020-12-08 22:27:58 【问题描述】:

关于来自https://www.broadcom.com/products/pcie-switches-bridges/software-dev-kits的PLXsdk 我有一些连接到 PCI 的 NVMe SSD,我正在尝试使用 Broadcom 提供的 PLXSDK 在 Linux Kernel 5.3 中读取和写入该 NVMe 驱动器的 BAR 寄存器,我能够构建驱动程序并将其加载到内核中。但是当我尝试在我的 Gigabyte 主板 PC 上针对给定的样本运行它时,它说没有找到这样的设备或驱动程序错误代码 204, 我正在使用 insmod PlxSvc 加载驱动程序 并在终端 PlxSvc 中使用 lsmod 检查它。 所以,我怀疑我在尝试加载它时是否做错了什么。 谁能告诉我他/她是否曾尝试在 Linux 上使用来自 https://www.broadcom.com/products/pcie-switches-bridges/software-dev-kits 的 PLXsdk,对于 Windows,它可以通过同一链接正常工作。

【问题讨论】:

您在加载模块时检查了日志消息吗?调试出现了吗?您是否使用 lspci 检查了设备寄存器? 在 dmesg 中,我可以看到消息 PlxSVc driver is loaded,关于使用 lspci 检查设备的寄存器,我无法选择设备,所以使用 lspci -xxx,我没有观察到任何改变.. 【参考方案1】:

您需要使用提供的“Bin/Plx_load”脚本来加载此 SDK 中的驱动程序。该脚本在 /dev/plx 中设置节点,以便使用 PLX API 的应用程序可以与 SDK 驱动程序通信。只需使用 insmod 即可加载驱动程序,但不会创建任何节点。

请参阅文档文件夹中的 PLX SDK Linux 发行说明。所有的说明和解释都在那里。

【讨论】:

以上是关于在 Linux 内核 5.3 上安装 Broadcom 的 PCI/PCIe 软件开发工具包的主要内容,如果未能解决你的问题,请参考以下文章

jtag调试ls1012a linux-5.3内核

Linux 5.3内核系列已终止支持 建议用户升级至Linux Kernel 5.4

Linux 5.3内核系列已终止支持 建议用户升级至Linux Kernel 5.4

如何在Linux上安装内核头文件

CentOS环境下yum安装LAMP(Linux+Apache+Mysql+php)

如何在Debian或Ubuntu上安装完整的内核源码