我正在使用Altera的Cyclone V SOC FPGA和双Cortex-A9处理器。嵌入式系统(linux 4.15.7)是使用Buildroot-2018.02创建的。 U-boot用于加载系统i-e FPGA.rbf文件,设备树blob和zImage,一切正常。
我现在想要将RBF文件集成到我的linux中并从Linux编程FPGA。我找到了几种方法,我理解的最常见的方法是使用CONFIGFS和设备树覆盖。
所以我更改了设备树以集成覆盖,u-boot启动脚本以禁用FPGA加载以及带有make linux-xconfig
的linux“.config”文件中的以下选项:
+CONFIG_OF_OVERLAY=y
+CONFIG_ALTERA_STAPL=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_SAMPLES=y
+CONFIG_SAMPLE_CONFIGFS=m
这些选项是我经过多次尝试后的状态。
make和reboot后,加载内核后,我在控制台中输入以下命令:
mkdir /config
mount -t configfs none /config
在这种状态下,我希望在/ config文件夹中看到一些设备树文件,但是没有,只有一个rdma_cm文件夹:
# ls /config
rdma_cm
我继续阅读这个主题,发现我必须在我的linux内核中启用CONFIG_OF_CONFIGFS选项。
问题:我的linux内核中没有此选项。此外,文件drivers/of/configfs.c
也不在这里。我徒劳地搜索了如何为我的内核版本启用设备树覆盖。
如何配置内核以使configfs中的设备树可用?
答案 0 :(得分:0)
我和你有同样的问题。所以我不得不自己制作一个设备驱动程序。
此设备驱动程序是暂定的,我希望Linux主线正式支持Device Tree Overlay ConfigFS。
我提供的设备驱动程序位于以下网址。
如果您使用的是Debian,可以使用以下URL构建设备驱动程序的Debian软件包。
如果您想使用此设备驱动程序尝试设备树覆盖,请参阅以下URL。