AradilloではLinuxカーネルのコンフィギュレーションを変更した場合など、Linuxカーネルのファイルを変更して動作させることがあるかと思います。その際にコンフィギュレーションに問題があり起動しなくなった場合等は、変更前のLinuxカーネルに戻したい場合等があるかと思います。 そういった複数のLinuxカーネルを使用したい場合に使える方法についてここで紹介します。
ブログ
-
at_ito
-
at_takuya.sasaki
Armadillo-400シリーズのソフトウェアマニュアルにサンプルコードがある、GPIO sysfsからの割り込みですが、 これをG3/X1に搭載可能なDIDOアドオンモジュールで利用する方法です。
-
at_yuma.arakawa
x1-debian-builderで自動作成されるrootユーザー、atmarkユーザーのパスワードの変更方法を紹介します。
-
at_yuma.arakawa
Armadillo-IoT G3/G3L、あるいはArmadillo-X1では、x1-debian-builderというツールを使用してルートファイルシステムアーカイブを作成します。 この記事では、その主たる処理を行うbuild.shの動きについて、簡単に概要を説明いたします。
-
at_yuma.arakawa
ルートファイルシステムアーカイブは.tar.gzのアーカイブなので、展開すればchownコマンドで所有者を変更できます。ただし、chownでの変更時に注意が必要な点があるため、この記事で説明します。
-
at_yuma.arakawa
x1-debian-builderでルートファイルシステムアーカイブを作成すると、一般ユーザーとして"atmark"ユーザーが作成されます。この記事では、ルートファイルシステムアーカイブ作成時のユーザーの追加/変更方法を紹介します。
-
at_yuma.arakawa
apt-getコマンドでdebファイルのダウンロードが可能です。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3LでDeviceTreeを作成する際に、各ドライバーのソースコードを確認する必要がある場合があります。本ブログでは、Microchip 製 AD コンバーター(MCP3202)の設定を例に、該当のドライバーの場所を調べる方法について紹介します。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3Lでは、アプリケーション開発環境がArmadillo上で開発することが想定されており、ATDE環境でクロス開発する場合には、各種クロスライブラリのインストール等必要なため大変です。 そのため、ATDE環境でArmadilloのルートファイルシステムを動作させ、そこでアプリケーション開発する方法について紹介します。
-
at_kazutaka.bito
Armadillo-IoT(G3/G3L)で、Node.jsを使えるようにしてみました。 (Armadillo-X1でも同様の手順で可能です。)
-
at_kazutaka.bito
Armadillo-X1で、カメラの画像からQRコードを読む方法(zbarcam)です。カメラはUSBカメラを使用しました。 当方が確認したのは、Armadillo-X1ですが、Armadillo-IoT(G3/G3L)も同様の手順が使えるはずです。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3Lでは、量産時には突然の電源断対策にOverlayFSを有効化し、ファイル変更などをeMMCに書込みせずRAMに保存するような仕組みになっています。その際には、動作ログ等でファイルサイズが増え続けるとRAMの容量を圧迫してしまうため、長期連続動作をする場合は、ファイルサイズを抑制するよう構成することが必要です。 ここではログファイルの増加を抑制する前に、まずは動作時にどのようなファイルが変更されているかの確認方法について紹介します。
-
at_ito
sshを使用してログイン後、バックグラウンドでコマンドを実行し、ログアウトをすると実行したコマンドは終了してしまいます。ここではログアウト後も継続してバックグラウンドでコマンドを実行したい場合に使える方法について紹介します。
-
at_ito
Armadillo-X1, Armadillo-IoT G3ではマルチプレクスの設定を行う際にはDevice Treeが必要になります。ここではArmadillo-X1, Armadillo-IoT G3/G3Lでピンのマルチプレクス設定を行う際の例を記載します。
-
at_kazutaka.bito
Armadillo-X1の拡張インタフェース(CON8)のI2Cインタフェースで、I2C接続D/Aコンバータ(MCP4725)を使ってみました。
-
at_kazutaka.bito
Armadillo-X1で、USBカメラの画像をmjpg-streamerを使って、ネットワーク経由でPCのWebブラウザで見る方法です。
-
at_takuya.sasaki
以前 Armadillo-840でiDS社製のUSBカメラ uEye XS2を動かしてみたブログを書きました。 Armadillo-840でiDS社製uEye XS 2を動かしてみる(Debian編) 今回は同じ内容をArmadillo-X1で試してみました。
-
at_kazutaka.bito
Armadillo-X1の拡張I/F(CON8)のUARTを使用する方法です。
-
at_ito
Armadillo-X1, Armadillo-IoT G3/G3Lでは、拡張ボードのマルチプレクスの設定や、ドライバーの設定を行うにはDevice Treeの設定が必要になります。 ここではDevice Treeの概要と、Device Treeについての調べ方について簡単に紹介します。
-
at_ito
node-eye(SACM)でシステムを監視している際に、標準では対応していない一部ファイルの更新や、設定の変更など、各システムに合わせてリモートからの指示をカスタマイズしたい場合があるかと思います。 そのような場合は、任意コマンドを実行できるよう設定を行うことで対応可能です。 ここでは任意コマンドの実行できるようにする追加設定の方法を紹介します。
-
at_kazutaka.bito
Armadillo-X1の拡張I/F(CON8)のSPIを使用する方法です。 使用するCON8の端子番号と機能の相関は下記のとおりです。 SPI(ECSPI4) 72:MISO 73:MOSI 74:SCLK 75:SS(GPIO3_IO3)
-
at_yuma.arakawa
Armadillo-X1/IoT(G3/G3L)では、ユーザーランドとしてDebian GNU/Linux 8(jessie)のルートファイルシステムアーカイブのみを公開しています。このアーカイブの作成やカスタマイズには、x1-debian-builderというツールを公開しています。 ただし、x1-debian-builderは完了までに少なくとも30分程かかります。本記事では、ちょっとした変更などで、アーカイブを直接変更する手順を紹介します。
-
at_yuma.arakawa
x1-debian-builderを使用してルートファイルシステムアーカイブを作成する際、apt-getでインストールするパッケージは、
x1-debian-builder-[VERSION]/[製品名]_resources/resources/packages
にパッケージ名を追加します。 パッケージに設定ファイルが含まれる場合、この設定ファイルがルートファイルシステムアーカイブに組み込まれることになります。
しかし、ルートファイルシステムアーカイブには任意に変更した設定ファイルを含めたい場合があります。 そこで本記事では、lighttpdを例に、変更した設定ファイルを含むルートファイルシステムアーカイブの作成方法を紹介します。 -
at_ito
node-eyeは「node-eye: ネットワーク接続シーケンスの参考情報」で紹介した通りネットワークが一度接続された後に、切断、再接続というネットワーク接続シーケンスを取ります。 そのため、最後の再接続が完了されたかどうかを確認したい場合があるかと思います。 ここではその実現方法例を紹介します。
-
at_yuma.arakawa
overlayfsの有効化方法は製品マニュアルに記載があります[*1]が、無効化方法は記載されていません。
[*1] 22.2. ルートファイルシステムへの書き込みと電源断からの保護機能
有効化では、U-Bootの環境変数にoverlayfsを設定しているだけです。そこで、本記事ではU-Bootの環境変数の内容を確認し、削除する方法を紹介します。 -
at_yuma.arakawa
hcitoolでHCI(Host Controller Interface)のコマンドをBluetoothモジュールへ発行することにより、Bluetoothモジュールの設定を変更できます。本記事では例として、アドバタイズパケットの送信周期を変更してみます。
-
at_kazutaka.bito
Armadillo-X1/IoT(G3/G3L)の製品マニュアルには、ATDE6からのファイル転送として、SSHを使用する方法がありますが、 ここでは、ATDE6にlighttpd(Webサーバー)を使えるようにして、Armadillo-X1/IoT(G3/G3L)からファイルを取得する方法を説明します。
-
at_kazutaka.bito
起動時にソフトを自動実行する場合は、実行コマンドの後ろに"&"をつけてバックグラウンドで実行させます。 うっかり忘れてしまうと、フォアグラウンドで実行されてしまい、コンソールが戻らずログインできなくなります。 ここでは、Armadillo-X1/IoT(G3/G3L)で、起動時のソフトの自動実行により、ログインできなくなったときの復帰方法を説明します。
-
at_yuma.arakawa
Armadillo-IoT G3/Armadillo-IoT G3L/Armadillo-X1ではi.MX7DというデュアルコアのCPUを搭載しています。通常、あるプロセスがどのCPUコアで実行されるかは、Linuxカーネルの判断次第なのですが、プロセスごとにアフィニティ(親和性)の設定を行うことで、どのコアで実行して欲しいかをLinuxカーネルへ指定することができます。 tasksetというコマンドでアフィニティの設定が行えます。本記事では、実行例と共に使用方法を紹介します。
-
at_ito
node-eyeにはネットワーク設定のリモートコンフィグ機能が、標準で実装されています。この機能を使用することにより、ネットワークの設定がWebブラウザ上で行うことができます。
ただし、この機能を使用するため従来のような端末でのネットワーク設定と異なる動作を行いますので、ここでまとめておきます。 -
at_ito
Armadillo上で、eMMCやSDカード等のストレージにデータを書きこんだ場合、すぐにデータが書きこまれるわけではなく、メモリ上のディスクキャッシュに保存されていることがあります。
その状態で電源が切断されると、RAM上に保存されているディスクキャッシュが、ストレージに書き出される前の状態であるため、ストレージの書き出したはずのデータが消える等の問題が発生します。
そのため、ここでは明示的にディスクキャッシュをストレージに書き出す方法を紹介します。 -
at_takuya.sasaki
以前書いた以下のブログでは、OpenCVによる画像処理の結果は、ファイルに保存していました。 Armadillo-X1でOpenCVを使って見る しかし画像処理の結果を、連続してウィンドウに連続描画したい場合が多いと思います。 Armadillo-X1にUSBモニタを接続する方法もありますが、今回はLANで接続したPC上でウィンドウ表示する方法を試してみます。
-
at_kazutaka.bito
Armadillo-X1でWebページ上で表とグラフを表示するサンプルデモを作ってみました。
(今回確認したものは、Armadillo-X1ですが、Armadillo-IoT(G3/G3L)も同様の手法が使用できると思います。) -
at_yuma.arakawa
インストールディスクの実態は、SDのブートディスクです。Armadilloの内臓ストレージ(eMMC及びQSPIフラシュメモリ)へ書き込むイメージファイルと、インストールスクリプトを含んでおり、SDブート時にインストールスクリプトが実行されるよう設定されています。
-
at_takuya.sasaki
Armadillo-X1/G3には、WLAN/BTコンボモジュールが搭載されています。 通常Armadilloは、Bluetoothのセントラル(親機)になることが多いかと思いますが、今回はペリフェラル(子機)として、 Beaconパケットを送信してみようと思います。
-
at_kazutaka.bito
Armadillo-IoT(G3/G3L)、Armadillo-X1は、ファイルをストレージに保存するため、 電源OFFにしても、syslog等のログファイルは残ります。 Armadilloを常時稼働していたり、 Armadilloの電源をOFFにすることはあっても、バッテリ電池でRTCの時刻を保持している場合は、 システムのログファイル(syslog等)は、.....
-
at_yuma.arakawa
Armadillo-G3/G3L/X1の内蔵ストレージの初期化を行うインストールディスクを作成する際、各製品マニュアルではATDE上で"dd"というコマンドでSDへのインストールディスクイメージの書き込みを行っています。 本記事では、"Win32 Disk Imager"というツールを使用して、Windows上でインストールディスクイメージの書き込みを行ってみます。
-
at_yuma.arakawa
Armadillo-G3/G3L/X1では、インストールディスク(SD/マイクロSD)を使用することで、内蔵ストレージ(eMMC及びQSPIフラッシュメモリ)内のイメージを一括で書き換えることができます。
本ブログでは、主に出荷時を想定し、インストールディスクイメージ(インストールディスクの元となるイメージファイル)を用いたインストールディスクの作成から、インストールディスクを用いたArmadilloへのイメージ書き込みまでの手順を紹介します。 -
at_ito
Armadillo-X1は100ピンのB2Bコネクタが搭載されており、拡張ボードで機能を拡張することが多い製品です。100ピンのB2Bコネクタの各ピンには複数の機能から使用する機能を選択して使用することができます(ピンマルチプレクス)。
今回はそのピンマルチプレクスの例として、Armadillo-X1にI2Cで温度センサーを接続してみます。 -
at_takuya.sasaki
2016.9に発売したArmadillo-X1で、OpenCVを使った画像処理を試してみました。
今回はArmadillo-X1にUSBカメラを接続して評価してみます。 -
at_ito
RS232Cや、RS485での通信でフロー制御を行っていない場合、データが化けることがあります。その際にどの程度の速度で、どれぐらいデータが化けるかを確認する方法を紹介します。
-
at_ito
2016/7/1時点での標準のユーザーランドでは、atmarkユーザーでsudoコマンドが実行できないようになっています。そのため、ここではatmarkユーザーでsudoコマンドが使えるように設定する方法を紹介します。
sudoコマンドの実行権限はrootユーザーでvisudoコマンドを実行することで、..... -
at_ito
無線LANの通信で、回線が切断されるなど電波強度を確認したい場合があるかと思います。
ここでは、iwconfigコマンドを実行し、電波強度を確認する方法をご紹介します。 -
at_ito
LANポート1つに対して複数のIPアドレスを設定する方法を紹介します。 LANポートは通常eth0等のインターフェイス名が使われます。 IPアドレスの設定は「ifconfig eth0
」コマンドを実行します。 -
at_ito
アプリケーションやドライバーの作りによりカーネルパニックが発生し、意図通りにソフトウェアが動作しない場合があるかと思います。その際、すでにフィールドに出している製品等ですと復帰ができず困る場合もあるかと思います。
そのような場合の対策として、カーネルパニックが発生すると、自動的に再起動する機能がありますので紹介します。 -
at_ito
Debianのデフォルトのエディタはnanoになっています。visudoコマンドや、gitコマンド等を使用した場合に、デフォルトのエディタが使われることがあります。nanoは単機能なコマンドなため、vimやemacs等の多機能なエディタに変更したい場合があるかと思います。 そのため、ここではATDE(Debian)のデフォルトのエディタを変更する方法を紹介します。
-
at_ito
Linuxカーネルのコンフィギュレーションを設定する場合に、 BACKLIGHT_LCD_SUPPORT等のシンボルはわかるものの、設定項目が どこにあるのかわからない時があるかと思います。 ここでは、「BACKLIGHT_LCD_SUPPORT」を元に設定項目が どこにあるのかを調べる方法を紹介します。
-
at_ito
Linuxにはteeというコマンドがあります。このコマンドは標準出力とファイルの両方へ出力することができます。ここではAtmark Distのmakeコマンド実行結果を例に、コマンド実行結果をファイルに保存しつつ、コンソールにも表示する方法を紹介します。
例えば、make.logファイルにコマンド結果を保存しつつ、コンソールにも表示するには、以下のようなコマンドになります。
[ATDE ~/atmark-dist]# make 2>&1 | tee make.log
ソースコードのビルド時にエラーを記録するときなどに便利ですので、ぜひ使用してみてください。
-
at_ito
ソースコードをビルドする際に、特定のファイルが必要で、それをDebianパッケージからインストールしたい場合があると思います。そういった際に便利な方法です。
-
at_ito
DebianパッケージをAtmark Distにインストールする際に、依存関係を考慮する必要がある場合があります。 その際に、依存しているパッケージをインストールするのにさらに依存パッケージが存在していたりして、インストールするのに手間がかかります。 そのため、簡単にDebianパッケージの依存関係を再帰的に検索し、表示する方法を紹介します。