由于milk-v的SDK默认没有开启SPI设备,需要修改以下文件来开启
-
修改设备树文件
/build/boards/cv180x/cv1800b_sophpi_duo_sd/dts_riscv/cv1800b_sophpi_duo_sd.dts
在该文件添加以下内容&spi2 { status = "okay"; cs-gpios = <&porta 18 0>; spidev@0{ status = "okay"; }; };
-
修改配置文件
/build/boards/cv180x/cv1800b_sophpi_duo_sd/linux/cvitek_cv1800b_sophpi_duo_sd_defconfig
添加以下内容CONFIG_SPI_MASTER=y CONFIG_SPI_SPIDEV=y CONFIG_SPI_DESIGNWARE=y CONFIG_SPI_DW_MMIO=y
-
修改板子启动文件,初始化SPI设备和引脚
/build/board/cvitek/cv180x/board.c b/board/cvitek/cv180x/board.c
添加以下内容, 也可以把pinmux_config(PINMUX_SPI2);这一行的注释取消pinmux_config(PINMUX_SPI2); PINMUX_CONFIG(SPINOR_CS_X, XGPIOA_24); PINMUX_CONFIG(SPINOR_MISO, XGPIOA_23); cvi_board_init(); return 0;
重新编译和打包系统
输入一下命令,编译SDK
source build/cvisetup.sh
defconfig cv1800b_sophpi_duo_sd
build_all
然后输入以下命令打包镜像
pack_sd_image
烧录镜像,放到板子上运行
然后查看spi设备是否已启动,可以看到spi设备在/dev目录出现了
本文转载自:https://bbs.elecfans.com/jishu_2366919_1_1.html,作者:
李隆