`
香橙派4这款电脑开发板前面已介绍过,不再赘述,详细参数可以看下图↓↓↓
本篇介绍下香橙派4在linux系统下如何使用SPI接口
1、首先安装下wiringOP,以下操作可能会用到
2、修改dts以启用SPI
SPI和UART4共享相同的引脚。官网镜像不支持SPI,需要修改内核的DTS文件以启用SPI。
首先按照用户手册方法下载Linux源代码。
修改dts以启用SPI
cd OrangePiRK3399_Pi4/
vi kernel/arch/arm64/boot/dts/rockchip/rk3399-orangepi.dts
找到spi的定义
&spi1 {
status = "disable"; //将disable改为okay
找到uart4的定义
&uart4 {
status = "okay"; //将okay改为disable
3、编译内核
./build.sh
4、内核替换
编译完成后,需要将内核更新到SD卡中。准备一张烧录有OrangePi 4 Linux镜像的SD卡。通过读卡器插到PC的u***接口。
首先确定SD卡的设备节点。
拔出SD卡,执行ls /dev/sd*
csy@ubuntu:~$ ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sda5
插上SD卡,执行ls /dev/sd*
csy@ubuntu:~$ ls /dev/sd*
/dev/sda /dev/sda2 /dev/sdb /dev/sdb2 /dev/sdb4
/dev/sda1 /dev/sda5 /dev/sdb1 /dev/sdb3
可知SD卡对应的设备节点是/dev/sdb
执行build.sh
./build.sh
选择5 Update Kernel Image
输入/dev/sdb
更新完成。
内核模块最好也更新下。选择6 Update Module
SD卡的rootfs分区挂载点是/media/csy/rootfs,每个人的环境会有所不同
回车。
SD卡插入OrangePi 4,启动系统。Spi已经启用
5、wiringOP提供了一个w25q64_test.c用于测试SPI。
需要用到W25QXX 模块。
硬件接线如下,具体引脚定义可查看OrangePi 4的原理图
VCC - 1
CS - 24
DO - 21
GND - 6
CLK - 23
DI - 19
注:左边为W25QXX 模块的引脚,右边为40pin的物理编号。
编译测试程序
cd wiringOP/examples/
make w25q64_test
运行测试程序。
出现以上报错的原因是wiringOP对于spi通道0访问的设备节点是
/dev/spidev0.0。
而RK3399平台名称是/dev/spidev1.0.
所以创建一个软链接即可。
ln -s /dev/spidev1.0 /dev/spidev0.0
运行测试程序。
能读取ef 40 17 说明SPI通信正常。
`