【经验】地平线X3M开发板SPI调试和使用方法


SPI作为一种比较通用的接口协议,在linux的世界里属于典型的字符设备驱动,linux内核已经对它有了比较完善的支持,是按照总线-设备-驱动的方式来实现的。本文将介绍地平线X3M开发板SPI调试和使用方法。
下面是详细的操作步骤:
1. spi驱动代码位于linux内核里面,如下所示目录:
(1) drivers/spi/spidev.c # 生成字符设备节点,可供用户空间操作
(2) drivers/spi/spi.c # spi框架层代码
(3) drivers/spi/spi-hobot.c # spi驱动层代码
2. 在使用前需要对内核进行配置,将上述驱动源码添加到linux内核中。
CONFIG_SPI_SPIDEV=y # spidev.c配置选项
CONFIG_SPI_SLAVE=y # CONFIG_SPI_SPIDEV依赖的配置选项
CONFIG_SPI_HOBOT=y # spi-hobot.c驱动层配置选项
3. 在下述文件中添加相应的设备节点,并对内核进行编译。 文件路径为:arch/arm64/boot/dts/hobot/hobot-xj3.dtsi
spi0: spi@0xA5004000 {
compatible = "hobot,hobot-spi";
reg = <0 0xA5004000 0 0x1000>;
clocks = <&spi0_mclk>;
clock-names = "spi_mclk";
interrupt-parent = <&gic>;
interrupts = <0 33 4>;
resets = <&rst 0x50 4>;
reset-names = "spi0";
pinctrl-names = "default";
pinctrl-0 = <&spi0_func>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
};
文件路径:arch/arm64/boot/dts/hobot/hobot-x3-sdb.dts
/* 配置为master */
&spi0 {
status = "okay";
spidev@0x00 {
compatible = "rohm,dh2228fv";
spi-max-frequency = <20000000>;
reg = <0>;
};
};
4. 上述操作会将spi0配置为master模式,在开发板串口终端下执行ls /dev会找到spidev0.0的设备节点,表示spi0的驱动已经安装完成。
5. 使用连接器把spi的MOSI 和 MISO 两个管脚连接起来。
6. spidev_tc 命令是测试spi的工具集命令,可以用来做回环测试:打开/dev/spidev0.0,设置12MHz速率,读写同时进行,每次读写1000个字节,测试50轮。打印信息如下:
# ./spidev_tc -D /dev/spidev0.0 -s 12000000 -m 3 -e 1000 -t 50
spi mode: 0x0
bits per word: 8
max speed: 12000000 Hz (12000 KHz)
userspace spi read and write test, len=1000 times=50
test: OK, times=0
test: OK, times=1
...
test: OK, times=49
- |
- +1 赞 0
- 收藏
- 评论 0
本文由孟高祥提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】地平线X3M SDB开发板烧录ubuntu镜像实操和注意事项
地平线X3M SDB开发板,地平线论坛已经支持yocto linux和ubuntu两种SDK包,本文实操烧录ubuntu镜像以及说明注意事项。
【经验】地平线X3开发板使用指南
本文主要讲述地平线X3开发板的使用说明,主要包含:1.了解X3开发板;2.烧写镜像;3.串口或网口登陆开发板;4.uart烧写【uboot被擦除时使用】。
【经验】地平线开发板J3刷机问题及操作记录
本文介绍了在地平线J3开发板上面完成刷机以及跑通AI-Express的demo过程中遇到的问题并详细讲解。首先先刷efuse;刷完之后,利用串口进去改一下板子ip;最后按照github上编译AI-Express。
地瓜创客孵化营 | 让每一块 RDK X5,都成为你手中的机器人!
地瓜机器人开发者日就要来啦!面向智能计算与机器人解决方案的通用型开发板新品RDK X5,接口丰富,极具性价比,具有10T算力,与强大的图像处理能力,助力开发者轻松实现多种智能应用。加入“地瓜创客孵化营”你将和一群“地瓜创客”一起找到将你的开发板转变为智能机器人的最佳路径。
我们在参考地平线X3M SDB开发板设计原理图时,发现SD2的电源域是3.3V,而我司需要把SD2功能复用为GPIO功能,并且是1.8V输出的,这里需要怎么改。
SD2的电源域可以通过寄存器0xa6004170来修改为3.3v/1.8v,复用为GPIO功能后点输出电压也是由SD2的电源域提供的电压。
【产品】地平线X3开发板内存详解:bpu内存及相关接口&如何通过命令查看对应内存
本文详细讲解地平线X3开发板的内存情况,主要包括两部分:bpu内存及相关接口&如何通过命令查看对应内存。
【经验】地平线X3M开发板添加dummy_codec虚拟声卡驱动的方法
一个完整的声卡信息由cpu_dai,codec_dai,platform,dai_link组成。本文将详细介绍地平线X3M开发板添加dummy_codec虚拟声卡驱动的方法。
地平线X3M开发板有相对应的硬件压测工具吗?
地平线SDK提供相应的针对硬件的压测工具,包括X3M芯片,DDR,EMMC,网口,USB等。
【经验】地平线旭日x3开发板入门教程介绍
本文对地平线旭日x3开发板做入门介绍,第一步点亮系统,第二步配置交叉编译环境,最后进行示例测试。x3开发板达到了实时性要求,精度也不错。
地平线发布具有4核ARMA53处理能力的X3派AI开发平台,支持H.264/H.265编解码和5Tops端侧推理|视频
地平线旭日®️X3派是一款面向生态开发者的嵌入式AI开发板,接口兼容树莓派,具有5Tops端侧推理与4核ARMA53处理能力。可同时多路CameraSensor的输入并支持H.264/H.265编解码。
一款新的sensor模组接上地平线X3M开发板,点不亮是什么原因?
1. 需要检查模组的mipi管脚和开发板的mipi接口是否一致,用万用表测试1.2V, 1.8V,3.3V电压是否正常; 2. 确保硬件OK后,可以根据串口报错的信息和地平线的文档对照做进一步分析。
【经验】地平线X3M开发板上AP6212模组的Wi-Fi功能使用方法
地平线X3M开发板上的AP6212模组是一种低成本、低功耗的模组,集成有WiFi,蓝牙和FM功能,广泛应用到智能手机和便携式设备中。本文主要介绍AP6212 WiFi功能的使用方法。
【经验】地平线X3M开发板烧录镜像的方法
X3M开发板是集成了地平线X3 AI处理器的一个开发板形态产品,支持多路摄像头输入,提供5T算力,提供丰富的标准硬件接口,搭载地平线“天工开物”软件栈,可用于客户快速开发、开发者方案验证等场景。本文主要介绍地平线X3M开发板烧录镜像的方法。
【经验】如何进行地平线X3M开发板的USB驱动性能测试?
地平线X3M开发板针对常见的高速接口,比如ddr, emmc, usb, sdio等提供了相应的测试方法,这样可以保证数据高速传输的稳定性和可靠性。下面是USB驱动性能测试方法。
电子商城
现货市场
服务

提供7~27寸工控机定制,支持嵌⼊式/ 壁挂式 /桌⾯式/悬挂式等安装方式,采用纯平⾯板IP65防尘防⽔等级,莫⽒7级硬度触摸屏,兼容多种操作系统:组态软件/安卓/XP/win7/8/10/Linux等,支持主板、接⼝、外观、⽀架、刷卡器、⾝份证阅读器、LOGO、⻨克⻛、系统、电池、蓝⽛、4G/5G、摄像头、GPS系统、⼆维码扫描器、指纹等特殊应⽤场景定制
最小起订量: 1台 提交需求>
登录 | 立即注册
提交评论