Armadilloフォーラム

ループバック

inuneko

2024年4月12日 10時52分

いつもお世話になっております。
armadillo-640を使用しています。
con14やcon9のuartができるピンを使用してループバック処理をしたいと思います。
使用するarmadilloは1台でuartの送信ピンから信号を送信して受信ピンで信号を受信することは可能でしょうか?
可能でしたら送受信の設定や送信方法を教えてください。
よろしくお願いいたします。

コメント

at_satoshi.ohta

2024年4月12日 15時19分

お世話になっております。
太田です。

1点確認させていただきたいのですが、
Armadillo の OS は Armadillo Base OS と Debian( stretch または buster )のどちらをご使用でしょうか?

inuneko

2024年4月12日 16時00分

> お世話になっております。
> 太田です。
>
> 1点確認させていただきたいのですが、
> Armadillo の OS は Armadillo Base OS と Debian( stretch または buster )のどちらをご使用でしょうか?

root@armadillo:~# cat /proc/version
Linux version 4.14-at62 (atmark@atde8) (gcc version 8.3.0 (Debian 8.3.0-2)) #1 Fri Nov 10 15:11:29 JST 2023

linuxのカーネルバージョンを確認しましたらdebianあったのでdebianでよいのでしょうか?
よろしくお願いいたします。

at_satoshi.ohta

2024年4月15日 10時03分

太田です。

ご確認ありがとうございます。
debianのbusterとのことで了解いたしました。

con9 の uart のピンを使用してループバック処理をする手順を説明します。
ここでは、uart2 と urat8 を使用します。

uart2とuart8を使用するにあたり、Armadilloのデバイスツリーを書き換える必要があります。
Armadilloのデバイスツリーの生成には at-dtweb を使用します。

at-dtweb でデバイスツリーを生成するには、コンフィギュレーションされた Linux カーネルを事前に用意する必要があります。
Linux カーネルと initramfs アーカイブを以下のURLから ATDE 上にダウンロードしてください。

https://armadillo.atmark-techno.com/resources/software/armadillo-640/li…

ダウンロードした Linux カーネルをコンフィギュレーションするには、マニュアルの「手順:Linuxカーネルをビルド」の「3. コンフィギュレーション
」までを実行してください。

https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_ma…

Linux カーネルをコンフィギュレーションした後、at-dtweb を起動します。
at-dtweb の操作方法についてはマニュアルをご参照ください。

https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_ma…

ここでは、uart2 と urat8 のピン番号は下記のように設定したとします。
また、シリアルのコンソールに入るために、uart1も設定します。

uart1のRXD:3番
uart1のTXD:5番

uart2のRXD:25番
uart2のTXD:26番

uart8のTXD:15番
uart8のRXD:16番

CON9 のピンに対してそれぞれ uart1, uart2, uart8 の設定が出来ましたら、at-dtweb の右上にある「Save」を押してください。
「linux-v4.14-at65」ディレクトリ配下に「linux-v4.14-at65/arch/arm/boot/dts/armadillo-640-at-dtweb.dtb」というdtbファイルが作成されます。

次に、Armadillo 上の「/boot」ディレクトリ配下に「a640.dtb」というファイルがあるので、念の為バックアップをとってください。

$ mv /boot/a640.dtb /boot/a640.dtb.bk

その後、上記で作成した dtb ファイルを Armadillo の 「/boot」ディレクトリ配下に「a640.dtb」という名前で配置してください。
Armadillo を再起動後、デバイスツリーが書き換えられるはずです。

ループバックができるか確認する方法を次に示します。

uart2 の RXD(25番)と uart8 の TXD(15番)を配線した後に Armadillo 上で下記を実行してください。

$ cat /dev/ttymxc1 &
$ echo hoge > /dev/ttymxc7
hoge

echo で入力した文字列(hoge)が出力されたならば正しい動作をしています。

よろしくお願いいたします。