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 |
hakaru_plus
2018年3月23日 18時44分
自己解決しました。
グリーンハウス殿提供の、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の方が、
タイムスタンプが新しいから、ファイル変更なしと認識している様子。
これらファイルのタイムスタンプを更新後、コンパイルをかけるとビルドエラーが発生する事を確認しています。