Armadilloフォーラム

LoRaアドオンモジュールの認識

hakaru_plus

2018年3月23日 11時33分

お世話になっております。山下と申します。

現在Armadillo-IoT G3にLoRaアドオンモジュールを接続して、LoRa通信を実現する為に、以下のファイルと手順書をもとに、LinuxカーネルのビルドとSDカードからのブートを行いました。
 カーネル用:
  linux-3.14-x1-at21.tar.gz(アットマークテクノ殿HPよりDL)
  initramfs_x1-1.1.0.cpio.gz(アットマークテクノ殿HPよりDL)
  aiot_g3_addon_lora_20161111.tar.gz(GREEN HOUSE殿提供のLoRaモジュールを認識する為のソースファイル群)
 SDブート用:
  u-boot-x1-sd-at15.bin(アットマークテクノ殿HPよりDL)
  debian-jessie-armhf_aiotg3_20180305.tar.gz(アットマークテクノ殿HPよりDL)
 手順書:
  Armadillo-IoT ゲートウェイ G3 製品マニュアル Version 1.11.0(アットマークテクノ殿HPよりDL)
  アドオンモジュールセットアップマニュアル v.1.1(GREEN HOUSE殿提供。添付しておきます)
 
結果、SDカードからはブートしている事を確認したのですが、CON1に接続したLoRaアドオンモジュールの認識を行うことができませんでした。

以下の手順で、作業を行ったのですが、何かおかしな点があるのでしょうか?
<カーネルブートの再コンパイル>
 ① ATDE上のホームディレクトリ直下に、addonディレクトリを作成し、上記『カーネル用』ファイルをコピー。
 ② ATDEで『アプリケーション』→『ユーティリティ』→『端末』の順にクリックし、コンソールを起動。
 ③ コンソール上の現在ディレクトリを、~$ → ~/addon$ へ変更。
 ④ Armadillo-IoT ゲートウェイ G3 製品マニュアル『10.2.Linuxカーネルをビルドする』と
   アドオンモジュールセットアップマニュアル『Armadillo-IoTの環境構築 → Armadillo-IoT G3の場合』の
   手順に従って、作業を進める。
   ⅰ)製品マニュアルの『1.アーカイブの展開』~『3.コンフィギュレーション』を実行。
   ⅱ)セットアップマニュアルのファイルコピーまで実行。
   ⅲ)『4.ビルド』~『5.イメージファイルの生成確認』を実行。
 ⑤ 生成した ./arch/arm/boot/uImage と ./arch/arm/boot/dts/armadillo_iotg_g3.dtb を、
   ~/addon/kernel_lora_addonディレクトリに移動。
 ⑥ コンソールを終了する。

<SDブート用ディスク作成>
 ① 8MのSDカードを準備し、ATDEを起動させているパソコンに挿入する。
 ② ATDE上のホームディレクトリ直下に、sdbディレクトリを作成し、上記『SDブート用』ファイルをコピー。
 ③ ATDEで『アプリケーション』→『ユーティリティ』→『端末』の順にクリックし、コンソールを起動。
 ④ コンソール上の現在ディレクトリを、~$ → ~/sdb$ へ変更。
 ⑤ Armadillo-IoT ゲートウェイ G3 製品マニュアルの『15.SDブートの活用』の手順に従って、作業を進める。
   ⅰ)SDカードのアンマウント化を実行。
   ⅱ)『15.1.ブートディスクの作成』を実行。
   ⅲ)『15.2.ブートディスクの作成』を実行。
   ⅳ)『15.3.LinuxカーネルイメージとDTBの配置』を実行。
     上記の<カーネルブートの再コンパイル>で作成したファイルを利用。
      ・ Linuxカーネルイメージとして、~/addon/kernel_lora_addon/uImage を利用。
      ・ DTBとして、~/addon/kernel_lora_addon/armadillo_iotg_g3.dtb を利用。
      ・『2.Linuxカーネル…』の③と④の作業は、名前を変更せずにコピー作業のみ。
   ⅵ)『15.4.SDブートの実行』を実行。
      ・SDカードから起動している事を確認。
      ・boot途中の出力メッセージから、CON1に接続しているLoRaアドオンモジュールを認識していない事を確認。
        armadillo_iotg_addon addon: Unknown Vendor Unknown Product board detected at Add-On Module I/F 1(Rev 1, SerialNumber=1).
        armadillo_iotg_addon addon: Failed to initialize Add-On Module I/F 1.
      ・boot途中の出力メッセージから、CON2に接続しているRS-232Cアドオンモジュールを認識している事を確認。
        armadillo_iotg_addon addon: Atmark Techno RS232C board detected at Add-On Module I/F 2(Rev 2, SerialNumber=4229).

アドバイスよろしくお願いします。

ファイル ファイルの説明
iotg-use-rm-adarm-92AN.PDF
コメント

自己解決しました。

グリーンハウス殿提供の、armadillo_iotg_std_addon.hとarmadillo_iotg_std_addon.cが
linux-3.14-x1-at21のarmadillo_iotg_std_addon.hとarmadillo_iotg_std_addon.cと
構造体要素が一致しない為、Armadilloが期待通りにLoRa通信アドオンモジュールを認識しませんでした。

構造体の要素が一致しないのに、コンパイルがうまく通った理由は、
ファイルの置き換え前に、linux-3.14-x1-at21の環境で、ビルドを完了させていた為、
ファイル置き換え後のビルドで、ファイル変更無し(※1)と判断し、置き換え前のファイルはビルドをキャンセル、
新規に追加したLoRa通信アドオンモジュール関連のコードだけでビルドを完了していたためだと予想しています。

ArmadilloでLoRa通信を行うには、
2016/11以前のlinux-3.14-x1-at[Version]を用いるか、
グリーンハウス殿提供の、armadillo_iotg_std_addon.hとarmadillo_iotg_std_addon.c、addon_greenhouse_rfmodule.cを
今風に改造すれば、出来ると思います。

※1 グリーンハウス殿提供のarmadillo_iotg_std_addon.hとarmadillo_iotg_std_addon.cより、
   linux-3.14-x1-at21のarmadillo_iotg_std_addon.hとarmadillo_iotg_std_addon.cの方が、
   タイムスタンプが新しいから、ファイル変更なしと認識している様子。
   これらファイルのタイムスタンプを更新後、コンパイルをかけるとビルドエラーが発生する事を確認しています。