t.iwai
2025年1月29日 13時41分
==========
製品型番:
Debian/ABOSバージョン:Linux atde9 5.10.0-33-amd64 #1 SMP Debian 5.10.226-1 (2024-10-03) x86_64 GNU/Linux
カーネルバージョン:Linux armadillo 5.10.232-0-at #1-Alpine Fri Dec 20 02:12:46 UTC 2024 armv7l Linux
==========
お世話になります。
https://armadillo.atmark-techno.com/forum/armadillo/23128
上記投稿を参考に、1-Wire経由でDS18B20の温度取得ができたのですが、その後 Device Tree Editor 経由で作成した .swu ファイルを適用すると、それまで「/sys/bus/w1/devices」以下にあった「w1_bus_master1」ディレクトリが表示されなくなってしまいました。
Device Tree Editor 経由で有効化したのはUART1(RXD/TXD), UART7(RXD/TXD), UART7(RTS/CTS)のみで、現在 1-Wireで使用しているCON8 30ピン(GPIO4_IO26 CSI_DATA05)については指定なし(グレー状態)の状態でdesc ファイルから SWU イメージを生成、アップロードしています。
試しに /boot/overlays.txt から armadillo-iotg-a6e-at-dtweb.dtbo (※上記SWUでアップロードされた dtboファイル) を削除し、
$ persist_file /boot/overlays.txt
した上で再起動すると、再び「/sys/bus/w1/devices」以下に「w1_bus_master1」が表示されるようになったので、何か設定が競合しているような気がするのですが、そもそもDevice Tree Editor で作成したSWUイメージと DTS overlays によるカスタマイズファイルは併用が可能なのでしょうか。
もし可能な場合、上記状態を回避するには、どのように設定するべきでしょうか。
以上、よろしくお願いいたします。
ファイル | ファイルの説明 |
---|---|
A6E_Device_Tree_Editor.png | Device Tree Editor 設定内容 |
コメント
t.iwai
at_shota.shimoyama
at_shota.shimoyama
2025年1月29日 16時35分
下山です。
> そもそもDevice Tree Editor で作成したSWUイメージと DTS overlays によるカスタマイズファイルは併用が可能なのでしょうか。
at-dtwebで作成したarmadillo-iotg-a6e-at-dtweb.dtboをそのまま使用すると、
ご指摘のとおり競合が発生してしまいますが、少し手順を変えることで併用が可能になります。
〇競合が発生してしまう理由について
at-dtwebでarmadillo-iotg-a6e-at-dtweb.dtboを作成する際、
gpioset/gpiogetでの操作ができるように、未使用のピンについても設定を行っています。
このため、CON8 30ピン(MX6UL_PAD_CSI_DATA05__GPIO4_IO26)のピン設定が以下2つのファイルで指定されることとなり、競合が発生します。
・armadillo-iotg-a6e-at-dtweb.dtbo
・カスタマイズファイルの.dtbo
> もし可能な場合、上記状態を回避するには、どのように設定するべきでしょうか。
お手数おかけしますが、以下の手順でarmadillo-iotg-a6e-at-dtweb.dtboを作成してください。
1.通常通り、at-dtwebを使用して目的のペリフェラル(UART1(RXD/TXD), UART7(RXD/TXD), UART7(RTS/CTS))を設定し、「Save」を実行します。このとき、arch/arm/boot/dts以下にはarmadillo-iotg-a6e-at-dtweb.dtboだけでなく、その元となるarmadillo-iotg-a6e-at-dtweb.dtsも作成されます。
2.作成されたarmadillo-iotg-a6e-at-dtweb.dtsの中に、CON8 30ピンの設定を行っている箇所があります。下記の中の
MX6UL_PAD_CSI_DATA05__GPIO4_IO26 0x400010b0 // CON8_30
の行です。この行を削除して保存してください。3.その後、at-dtwebの「Save」は使わず、以下のコマンドでデバイスツリーだけをビルドします。
4.できたarmadillo-iotg-a6e-at-dtweb.dtboをArmadilloの/bootディレクトリにコピーしてください。
at-dtwebの「Save」を実行すると、armadillo-iotg-a6e-at-dtweb.dtsに行った変更は上書きされてしまいます。
もしat-dtwebを使用してペリフェラルを変更したい場合は、その都度上記の手順を踏んでください。
よろしくお願いします。