Darkside(https対応しました)

2021年09月03日の記事

2021年9月3日(金) 22:27

Jetson Nano 環境整備は最悪

 SPIが使えるかどうか確認するために、まずループバックテストしてみる。19番ピンと21番ピンを短絡させて準備。

 だが、テストプログラムを動かすとエラーが続出。一部は、python2 ではなくpython3 をデフォルトにしたのが影響しているようだ。だが、それだけではない。何とかエラーを殺したところ、import spidev が失敗した。あ、入れてなかったのか。
 py-spidev をインストールし、再び実行。すると今度は、spi.open() が失敗した。USBカメラの接続試験で cam.read() が失敗したときと同種の、嫌な汗が流れる。

 もしやと思って ls /dev/ したら、どこにもSPIが無い。SPIがデバイスとして存在していないので、そりゃあ spi.open できる訳がない。
 慌てて Jetson-IO を実行すると、SPIはしっかり有効になっている。

 念のため、SPIが有効になっているかどうかを以前の方法でも調べる。

 すると、やはり有効になっていることが確認できた。

 となると、明らかにSPIは有効になっているのに、なぜ /dev/spi が存在しないのか?という問題になる。
 ここで、Jetson-IO が登場する以前にSPIを有効化するため参考にしたサイトを、改めて覗いてみる。すると、SPIが有効になったことを確認後、SPI用のカーネルモジュールが存在するかどうか確認している。同じように modinfo spidev を実行すると、存在することが確認できた。その次に、デバイスツリーの再構築だ。

 このデバイスツリーの再構築は Jetson Nano 単独では実行できず、リナックスが入っている母艦PCを別に用意しなくてはならない。たかがSPIを有効にするだけのために酷過ぎるということで、Jetson-IO が登場したと思っていた。
 だが下手すると、SPIを有効にすることが Jetson-IO だけで可能でも、/dev/spi を有効にするにはデバイスツリーの再構築が相変わらず必要だったりして・・・それじゃ意味ね〜よ!

 先日マルチブート環境を作って ubuntu 母艦PCがいつでも使えるようになっているので、面倒だがデバイスツリーの再構築を実行してみる。既にSPIは有効になっているのに大丈夫か不安だったが、結果は膨大な警告を出した挙げ句に終了。
 ls /dev/ してもSPIは出現していないので、失敗したと断ぜざるを得ない。

 Jetson Nano の環境設定では壮絶な死闘を強いられて来たので、もう嫌だ。SPIは使用せず、パラレル3ビット送信で済ませることにする。

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL
Darkside(https対応しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4