BBB에서 SPI를 활성화하는 데 문제가 있습니다. tutorial from the hipstercircuits.com. uSD에 새로운 아치 리눅스를 설치했습니다. 사실 eMMC에서 시스템을 엉망으로 만든 경우에 대비해.Beaglebone black (BBB) Rev C 3.8.13-38-ARCH SPI가 작동하지 않습니다. 부적절한 장치 용 ioctl
내 설정은 다음과 같습니다 SPI1는 HDMI I 장애인 아무것도 HDMI 관련 문제를 가지고 있기 때문에
이내가 찾은. fdfile 입력에 대해 확실하지 않지만 웹에서 찾을 수 있습니다. (나는 그것도없이 노력했다.) 현재 나는 SD 카드를 다루고있다.
uEnv.txt
optargs=quiet coherent_pool=1M fdtfile=am335x-boneblack.dtb capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
나는 DTS는 hipstercircuits.com에서 바로 파일을 가져다가 팩맨을 통해 설치된 알람/DTC 오버레이 1.4.1-1로 컴파일.
uEnv.txt에 HDMI를 해제 한 후
[[email protected] ~]# echo BB-SPI1-01 > /sys/devices/bone_capemgr.*/slots
괜찮 가서 나는 보았다
[[email protected] ~]# cat /sys/devices/bone_capemgr.9/slots
0: 54:PF---
1: 55:PF---
2: 56:PF---
3: 57:PF---
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-SPI1-01
가 나는 또한 BB-SPIDEV0, BB-SPIDEV1 및 BB-SPIDEV1A1을 울리는 시도 여기에서 찾을 :
[[email protected] spi_a]# ls -l /lib/firmware | grep SPI
-rw-r--r-- 1 root root 1351 Jan 29 17:04 BB-SPI1-01-00A0.dtbo
-rw-r--r-- 1 root root 1185 Jan 25 01:06 BB-SPIDEV0-00A0.dtbo
-rw-r--r-- 1 root root 1185 Jan 25 01:06 BB-SPIDEV1-00A0.dtbo
-rw-r--r-- 1 root root 1185 Jan 25 01:06 BB-SPIDEV1A1-00A0.dtbo
spidev_test의 결과는 항상 같습니다.
내가 pingroups에서 SPI1의 일부 등 P9_29, P9_31에 대한 아무것도 보지 않았다 더 흥미로운 무엇 :
[[email protected] ~]# cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pingroups
registered pin groups:
group: pinmux_userled_pins
pin 21 (44e10854)
pin 22 (44e10858)
pin 23 (44e1085c)
pin 24 (44e10860)
group: pinmux_rstctl_pins
pin 20 (44e10850)
group: pinmux_i2c0_pins
pin 98 (44e10988)
pin 99 (44e1098c)
group: pinmux_i2c2_pins
pin 94 (44e10978)
pin 95 (44e1097c)
group: pinmux_mmc1_pins
pin 88 (44e10960)
group: pinmux_emmc2_pins
pin 32 (44e10880)
pin 33 (44e10884)
pin 0 (44e10800)
pin 1 (44e10804)
pin 2 (44e10808)
pin 3 (44e1080c)
pin 4 (44e10810)
pin 5 (44e10814)
pin 6 (44e10818)
pin 7 (44e1081c)
group: pinmux_userled_pins
pin 21 (44e10854)
pin 22 (44e10858)
pin 23 (44e1085c)
pin 24 (44e10860)
spidevs는/dev에
[[email protected] ~]# ls -l /dev | grep spi
crw------- 1 root root 153, 1 Jan 29 17:13 spidev1.0
crw------- 1 root root 153, 0 Jan 29 17:13 spidev1.1
의 존재를 인터페이스를 테스트하기 위해 튜토리얼에서 언급 한 python 메소드와 BBB에서 컴파일 된 spidev_test.c (spidev_test.c)가 사용되었습니다.
[[email protected] ~]# gcc spidev_test.c -o spidev_test
파이썬 라이브러리의 경우 출력에는 오류가 없으며 SCL 라인의 클럭 신호도 없습니다.
spidev_test 반환 :
[[email protected] spi_a]# ./spidev_test
can't set spi mode: Inappropriate ioctl for device
Aborted (core dumped)
[[email protected] spi_a]# ./spidev_test -D /dev/spidev1.0
can't set spi mode: Inappropriate ioctl for device
Aborted (core dumped)
[[email protected] spi_a]# ./spidev_test -D /dev/spidev1.1
can't set spi mode: Inappropriate ioctl for device
Aborted (core dumped)
내가 * .dts와 * hipstercircuit의 튜토리얼의 시작 부분에 제공 .dtb 파일을 사용할 수 있도록해야합니까?
나는 쉽게 sth를 망쳤습니다. 어떤 아이디어였습니까? 그렇게 작동 시키셨습니까? 모든 조언을 환영하며 매우 감사하겠습니다! ;)