2025-05-01 20:15:12 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-05-04 19:14:55 +08:00
|
|
|
|
## tips
|
2025-05-01 20:15:12 +08:00
|
|
|
|
|
|
|
|
|
1. 执行安装驱动的脚本要sudo用户,不能用sudo命令
|
|
|
|
|
2. 安装完成驱动可能要重启电脑
|
2025-05-02 19:01:03 +08:00
|
|
|
|
3. 直接插在PCIEx16槽上不行,使用x1转接线可以pass test case
|
|
|
|
|
1. 可能是,采用转接板,重启电脑PCIE不断电
|
2025-05-01 20:15:12 +08:00
|
|
|
|
|
2025-05-02 21:52:54 +08:00
|
|
|
|
## 烧录
|
|
|
|
|
|
2025-05-01 20:15:12 +08:00
|
|
|
|
1. 确保主板完全断电,把 FPGA 插到该 Linux Host-PC 的 PCIe 插槽中。
|
|
|
|
|
2. 启动 Linux 主机,此时 FPGA 上电,但里面还没有烧录 bitstream 。我们用 Vivado 向其中烧录程序。
|
|
|
|
|
3. 重启 Linux 主机,注意一定要重启,而不是关机后再打开。这是为了保证 FPGA 在整个过程中不会断电(不会丢失刚刚烧录的程序)
|
|
|
|
|
4. 之所以要进行这个步骤,是因为 PCIe 的识别是在计算机启动时进行的,而不支持热插拔,我们需要重启来让计算机识别 PCIe。
|
|
|
|
|
5. 如果你要重新烧录 FPGA 程序,则也需要重启 Linux 来让它识别新的 FPGA 程序。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```shell
|
2025-05-02 21:52:54 +08:00
|
|
|
|
cd linux-kernel/xdma && sudo make # 编译驱动
|
|
|
|
|
cd linux-kernel/tools && sudo make # 编译测试
|
2025-05-01 20:15:12 +08:00
|
|
|
|
|
2025-05-02 21:52:54 +08:00
|
|
|
|
./linux-kernel/tests/load_driver.sh # 安装驱动
|
|
|
|
|
./linux-kernel/tests/run_test.sh # 跑测试
|
2025-05-02 19:01:03 +08:00
|
|
|
|
|
2025-05-01 20:15:12 +08:00
|
|
|
|
modinfo xdma # 查看驱动安装情况
|
|
|
|
|
ls /dev/xdma*
|
|
|
|
|
rmmod -s xdma # 卸载驱动
|
2025-05-04 19:14:55 +08:00
|
|
|
|
|
|
|
|
|
sudo lspci -vv # 查看PCIE设备的详细信息 一定要sudo
|
2025-05-01 20:15:12 +08:00
|
|
|
|
```
|