Armbian

如何在 Armbian 的 Orange PI PC+ 上啟用 SPI?

  • February 12, 2021

我正試圖讓 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 日誌。這就是我檢查是否啟用了 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(不完全粘貼)

所以我的問題是:如何啟用 spi 以便/dev/spidev*.*文件出現?

好吧,這真的很愚蠢。我只需要仔細閱讀有關設備樹覆蓋的資訊。

我沒有設置所需的 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直接編輯更容易。

引用自:https://unix.stackexchange.com/questions/496070