我已经使用 buildroot 配置并编译了 Linux 内核。我想在用户模式下访问此板上的 spi 总线。以下是我编译内核的步骤。
1- 克隆 buildroot repo:版本 2023.02-rc1
$ git clone https://github.com/buildroot/buildroot.git && cd buildroot
2- 为主板加载 defconfig
$ make beagleboardx15_defconfig
3- 对菜单配置所做的更改
$ make menuconfig
Toolchain ---> A) Toolchain Type ---> External Toolchain
B) Toolchain ---> Linaro ARM 2018.05
Kernel ---> A) Kernel version ---> Custom version (4.20.17)
B) Out-of-tree Device Tree Source file paths (path/to/my/am57xx-beagle-x15.dts)
此path/to/my/am57xx-beagle-x15.dts
文件将被复制到 Linux 源代码并从那里进行编译。我已将节点status
的属性更改为此文件中的以下内容:mcspi1-4
"okay"
&mcspi1 {
status = "okay";
};
# also did this for other mcspi nodes...
这些节点在文件中定义dra7.dtsi
,默认情况下是禁用的。
4- 对 linux-menuconfig 所做的更改
$ make linux-menuconfig
Device Drivers ---> SPI support ---> <*> User mode SPI driver support
5-编译内核并将sdcard.img写入我的sd卡。
$ make
$ sudo dd if=images/sdcard.img of=/dev/sdc
完成这些步骤后,我希望在 /dev 目录中看到一些 spidev,但是那里没有任何与 spi 相关的东西。