RK3588开发板SPI接口使用,踩坑记录,

想使用 spidev 接口编写用户层程序控制 SPI 设备,看firefly的wiki教程和sdk里面的文档思路不清晰,记录一下!!

0.环境

1.ubuntu-20.04
2.kernel-5.10

1.首先在kernel-5.10/arch/arm64/boot/dts/rockchip/rk3588-firefly-itx-3588j.dtsi配置节点信息

在这里插入图片描述添加

&spi1{
    status = "okay";
    pinctrl-0 = <&spi1m2_cs0 &spi1m2_pins>;
    max-freq = <50000000>;
    spidev1: spidev@0{
        compatible = "rockchip,spidev";
        status = "okay";
        reg = <0x0>;
        spi-max-frequency = <50000000>;
    };
};
2.然后在kernel-5.10/drivers/spi/spidev.c中添加节点信息

在这里插入图片描述

3. 修改默认内核配置文件

在 kernel 目录下,执行

 make menuconfig

然后依次选取Device Drivers>>SPI support>>
在这里插入图片描述在这里插入图片描述在这里插入图片描述
最后查看help,
在这里插入图片描述出现如图所示信息表示配置成功。
在这里插入图片描述

4.编译kernel

在SDK主目录输入指令

./build.sh kernel

会在主目录下的rockdev文件夹下出现boot.img的分区镜像文件
在这里插入图片描述

5.烧写分区镜像

首先连接开发板与虚拟机,按住 recovery 按键上电或复位,开发板进入 Loader 固件烧写模式。
然后输入指令

upgrade_tool ld  

可以看到开发板,连接成功。

在这里插入图片描述
使用Linux_Upgrade_Tool工具进行烧录。
在kernel目录下输入

sudo upgrade_tool di -b rockdev/boot.img

在这里插入图片描述
成功后重启板子。系统运行起来后会在/dev/目录下生成名为spidev1.0的字符设备,该设备可以用open、close、write、read、ioctl去操作。

在这里插入图片描述

参考链接

linux烧写分区镜像:

https://wiki.t-firefly.com/zh_CN/Core-3588J/upgrade_firmware.html#an-zhuang-shao-xie-gong-ju

SPI:

https://wiki.t-firefly.com/zh_CN/Core-3588J/usage_spi.html
https://dev.t-firefly.com/forum.php?mod=viewthread&tid=123738&highlight=spi

内核配置:

https://blog.csdn.net/wylwws/article/details/113515093
https://m.elecfans.com/article/2052674.html

  • 8
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值