-1

我有一块 Zynq Ultrascale 板,我想使用 Aarch64 处理器的 DMA 接口,它运行 Linux 作为操作系统。为此,我应该将.ko驱动程序文件放在内核中并将其加载到 Linux 内核中。

目前,我使用 Petalinux 并通过它构建驱动程序 .ko 文件,Petalinux 将此 .ko 文件放在 rootfs 和 Petalinux 内核中。

现在,我想从 Petalinux 迁移到 Ubuntu 并在 Zynq 板上使用 Ubuntu,所以我想知道我是否可以独立于 ubuntu 内核构建一个 DMA 驱动程序,然后将其添加到其内核中?

以前,Petalinux 在构建整个 linux 内核的同时构建了我的驱动程序。但我只想构建驱动程序并使用现有内核(不构建 ubuntu 内核)

如果是,我可以单独构建驱动程序,我如何为 Ubunto 构建驱动程序?

4

1 回答 1

0

幸运的是,我将 Petalinux 构建的驱动程序复制到了 Ubuntu 中,它可以正常工作。

这意味着我可以在不编译 Ubuntu 内核的情况下使用 Petalinux 构建驱动程序,我将驱动程序.c文件作为模块添加到 Petalinux,然后完全构建 Petalinux,然后.ko从 Petalinux 中的路径中选择驱动程序文件/lib/modules/5.10.0-xilinx-v2021.2/extra/并将其复制到 Ubuntu 中的某个位置并调用insmod命令。

我知道这个解决方案不尊重人,但它对我有用并将我从沼泽中拉出来。

于 2021-12-26T18:24:33.193 回答