SPI を使用する - JETSON NANO 開発者キット その5
SPI を使用したい!
ところが、デフォルトではOFFになっている。
そして、ONにするのが、想像以上に面倒であった・・・。
Jetson NanoのSPIを有効にする – RT Robot Shop Blog
メモ
$ lsusb Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 004: ID 0955:7f21 NVidia Corp. Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 002: ID 0557:2221 ATEN International Co., Ltd Winbond Hermon Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub $ git clone https://github.com/rt-net/JetsonNano_DT_SPI.git $ cd JetsonNano_DT_SPI/ $ ./run.sh yes/no ? *** The [DTB] has been updated successfully. ***
リカバリーモードを解除(ジャンパーピンを抜く)して、起動
$ sudo cat /sys/kernel/debug/tegra_gpio Name:Bank:Port CNF OE OUT IN INT_STA INT_ENB INT_LVL A: 0:0 64 40 40 04 00 00 000000 B: 0:1 f0 00 00 00 00 00 000000 C: 0:2 00 00 00 00 00 00 000000 D: 0:3 00 00 00 00 00 00 000000 E: 1:0 40 00 00 00 00 00 000000 F: 1:1 00 00 00 00 00 00 000000 G: 1:2 0c 00 00 04 00 00 000000 H: 1:3 fd 99 00 60 00 00 000000 I: 2:0 07 05 00 02 00 00 000000 J: 2:1 f0 00 00 00 00 00 000000 K: 2:2 00 00 00 00 00 00 000000 L: 2:3 00 00 00 00 00 00 000000 M: 3:0 00 00 00 00 00 00 000000 N: 3:1 00 00 00 00 00 00 000000 O: 3:2 00 00 00 00 00 00 000000 P: 3:3 00 00 00 00 00 00 000000 Q: 4:0 00 00 00 00 00 00 000000 R: 4:1 00 00 00 00 00 00 000000 S: 4:2 a0 80 00 00 00 00 000000 T: 4:3 01 01 00 00 00 00 000000 U: 5:0 00 00 00 00 00 00 000000 V: 5:1 03 00 00 02 00 00 000000 W: 5:2 00 00 00 00 00 00 000000 X: 5:3 78 08 08 70 00 60 606000 Y: 6:0 06 00 00 02 00 00 000000 Z: 6:1 0f 08 08 00 00 02 020600 AA: 6:2 00 00 00 00 00 00 000000 BB: 6:3 01 00 00 00 00 00 000000 CC: 7:0 12 00 00 10 00 12 121200 DD: 7:1 01 00 00 00 00 00 000000 EE: 7:2 00 00 00 00 00 00 000000 FF: 7:3 00 00 00 00 00 00 000000
spidev_test
動作テストには、19pin と 21pin を直結して、 spidev_test
しれってかいてある。
ソースコードが見当たらなかったので、拾ってきてコンパイルした。
$ sudo CROSS_COMPILE=/usr/bin/aarch64-linux-gnu- make
spidev_fdx.c と spidev_test.c
$ sudo ./spidev_test -D /dev/spidev0.0 spi mode: 0x0 bits per word: 8 max speed: 500000 Hz (500 KHz) RX | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ $ sudo ./spidev_test -D /dev/spidev0.0 spi mode: 0x0 bits per word: 8 max speed: 500000 Hz (500 KHz) RX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D | ......@.......................