首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在BeagleBoneBlack上启用和使用SPI

如何在BeagleBoneBlack上启用和使用SPI
EN

Stack Overflow用户
提问于 2017-03-21 18:11:57
回答 2查看 6.9K关注 0票数 5

我有一个BeagleBoneBlack无线,我想使用SPI (和I2C)。我发现很难获得关于如何在BBB上设置和使用SPI的明确说明。首先,我不清楚BBB的默认配置是什么。我似乎有两个SPI设备:

代码语言:javascript
复制
$ ls /dev/spi*
/dev/spidev1.0  /dev/spidev1.1  /dev/spidev2.0  /dev/spidev2.1

我似乎也有I2C:

代码语言:javascript
复制
$ ls /dev/i2c*
/dev/i2c-0  /dev/i2c-1  /dev/i2c-2

我不清楚这些巴士是否真的是多路接驳,抑或没有真正的接驳服务。如果它们连接到引脚上,具体是哪一种总线?

我尝试使用引脚多路复用信息(从这里开始)来检查这一点,该信息告诉我对于SPI1芯片选择0,我应该使用一个偏移量为0x19C的引脚,所以我在该引脚上查询了模式:

代码语言:javascript
复制
$ sudo cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pins | grep 44e1099c
pin 103 (44e1099c.0) 00000002 pinctrl-single

它作为模式2返回,对我来说不是很有用(它不是SPI)。我试着按照关于为这个(从这里开始)设置一个覆盖的说明进行操作,但是这需要对我的内核进行一些调整,甚至在那时似乎也没有帮助。

请有人向我指出一些说明,使这一点更清楚,理想的情况下,符合我正在使用的内核版本(4.4.30)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-30 11:59:49

在深入研究之后,我发现BBB的最新版本(当然是我拥有的无线版本)使用了万向披风设备树覆盖,似乎添加/删除覆盖层现在并不是处理引脚配置的首选方法。

现在可以使用config-pin实用程序完成引脚配置,这对我确实有效。例如,要使SPI0可访问(设备驱动程序已经存在):

代码语言:javascript
复制
config-pin P9.17 spi
config-pin P9.18 spi
config-pin P9.21 spi
config-pin P9.22 spi

这在引导过程中并不持久,所以我将它添加到我的.profile中。我怀疑有一种更整洁的方式,它可能返回到设备树覆盖,但这是我需要开始的。

关于这种新的引脚配置方法的文档很难找到。

票数 4
EN

Stack Overflow用户

发布于 2017-03-27 20:58:23

首先,您应该签出设备树配置。可以在uEnv.txt中使用配置。你也可以像这样用手换衣服

https://learn.adafruit.com/setting-up-io-python-library-on-beaglebone-black/spi

SPIDEV

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42935068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档