web-dev-qa-db-ja.com

ArmbianのOrange PI PC +でSPIを有効にする方法は?

私はSPI=ボードで動作するようにしています。それが私が思いついたものです:

  • ArmbianではSPIはデフォルトでは有効になっていません。最初に有効にする必要があります(対応するDTオーバーレイを有効にします)
  • linuxではSPIは/dev/spidev*.*ファイルを介してのみアクセスできます
  • devフォルダーにspiデバイスが表示されない場合、SPIがボードで有効になっていません
  • armbian spiの最新バージョンでは、armbain-config(System/Hardware/spi-spidevの下)で有効にできます。
  • 以前のバージョンでは、/boot/script.binをfexファイルに逆コンパイルし、SPIそこで有効にしてコンパイルして戻す必要がありました。

Armbian Bionicをクリーンインストールし(以前にStretchも試しました)、更新してspi-spidevを有効にし、ボードを再起動しましたが、spidevファイルがありませんでした。

これが私の armbianmonitor log です。 SPIが有効かどうかを確認する方法です:

dima@orangepipcplus:~$ cat /boot/armbianEnv.txt
verbosity=1
logo=disabled
console=both
disp_mode=1920x1080p60
overlay_prefix=Sun8i-h3
rootdev=UUID=09e9478d-c7f2-4b16-a2d7-66f5313ff813
rootfstype=ext4
overlays=spi-add-cs1 spi-jedec-nor spi-spidev
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
dima@orangepipcplus:~$ ls /dev/*spi*
ls: cannot access '/dev/*spi*': No such file or directory

ところで、私の目標はnrf24l01通信でスマートホームプロジェクトを作成することですが、could not open /dev/spidev0.0(正確な貼り付けではない)というスクリプトエラーが発生します

だから私の質問は:/dev/spidev*.*ファイルが表示されるようにspiを有効にする方法は?

3
rattrapper

さて、これは本当に愚かだった。 デバイスツリーオーバーレイ について注意深く読む必要がありました。

必要なSPIパラメータparam_spidev_spi_bus。これが私のarmbianEnv.txt現在:

verbosity=1
logo=disabled
console=both
disp_mode=1920x1080p60
overlay_prefix=Sun8i-h3
rootdev=UUID=09e9478d-c7f2-4b16-a2d7-66f5313ff813
rootfstype=ext4
overlays=spi-spidev
param_spidev_spi_bus=0
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u

armbain-configはこのパラメーターを設定しないため、SPIこのツールのみを使用して動作することはできません) 。したがって、今のところ、編集するだけの方が簡単ですarmbianEnv.txt 直接。

3
rattrapper