工場出荷状態でフラッシュメモリに書き込まれているイメージファイルは、最新版ではない可能性があります。最新版のブートローダー、LinuxカーネルおよびユーザーランドイメージファイルはArmadilloサイトから、ファームウェアイメージファイルはユーザーズサイトからダウンロード可能です。最新版のイメージファイルに書き換えてからのご使用を推奨します。
イメージファイルの書き換えについては、12章フラッシュメモリの書き換え方法を参照してください。
Armadillo-810をUSBデバイスとして使用することができます。ここでは動作確認をATDE5で行うため、「取り外し可能デバイスの使用」を参照してATDE5とArmadillo-810のCON4をUSB2.0 ケーブルで接続する必要があります。
USBデバイスの機能は、LinuxカーネルのUSBガジェットドライバによって提供されます。USBガジェットドライバは様々な種類のものが用意されていますが、工場出荷イメージではArmadillo-810をUSB複合デバイス[]として使用することができる「UVC Composite Gadget」が有効になっています。
UVC Composite Gadgetは以下に示す3種類のUSBデバイス機能を持っています。各機能は同時に利用することができます。
- UVCガジェット
Armadilloをビデオ出力デバイス、ATDEをビデオ入力デバイスとして扱うことができます。V4L2インターフェースを利用するキャプチャーアプリケーションなどで利用することができます。
- シリアルガジェット
ArmadilloとATDEを、互いにシリアルデバイスとして扱うことができます。シリアル(tty)デバイスで通信するアプリケーションなどで利用することができます。
- イーサネットガジェット
ArmadilloとATDEを、互いにネットワークデバイスとして扱うことができます。ソケットで通信するアプリケーションで利用することができます。
Armadillo-810のUVCガジェットは、「UVC(USB Video Class)」として実装されています。ATDEがUVCガジェットを認識すると、/dev/video0というデバイスファイルが作成されます。アプリケーションは、このデバイスを介して画像を取得することができます。ここでは、「guvcview」というアプリケーションで動作の確認を行います。
図6.1「guvcviewを起動」を実行すると、図6.2「guvcviewのビデオウィンドウ」と図6.3「guvcviewのコントロールウィンドウ」の2つのウィンドウが立ち上がります。ビデオウィンドウには、UVCガジェットから取得した映像が表示され、コントロールウィンドウで解像度の切り替えなどを行うことが出来ます。
| |
---|
UVCガジェットの機能は、UVCガジェットドライバとカメラドライバで画像を転送するような形で実現しています。2つのドライバは「V4L2(Video for Linux 2)」という共通のインターフェースを持っています。V4L2を利用して画像を転送するのが「uvc-gadget」というアプリケーションです。UVCガジェットの概念図を次に示します。
|
「起動方法」に従ってguvcviewを起動した状態で、リアルタイムにカメラの設定を変更することができます。カメラの設定には、「camctrl」というアプリケーションを使用します。
| |
---|
camctrlは、動作中のカメラ設定を変更および取得するサンプルアプリケーションです。ソースコードはMITライセンスで配布されています。
camctrlのソースコードは、Atmark Distのソースコード(user/camctrl/ )に含まれています。
|
| |
---|
camctrlコマンドは、ユーザーランドイメージ v1.03(Atmark Dist v20131018)で追加されました。ユーザーランドイメージ v1.02(Atmark Dist v20130704)以前には含まれていません。
|
camctrlコマンドのフォーマットは、次の通りです。
「アプリケーションオプション」の"--set"を指定した場合はカメラ設定の変更を、"--get"を指定した場合は現在のカメラ設定の取得を行います。"--set"と"--get"のどちらも指定しなかった場合は、"--get"が指定された場合と同じ挙動を行います。
「アプリケーションオプション」を次に示します。
表6.1 camctrlのアプリケーションオプション オプション | 説明 |
---|
--set | 「Setオプション」に従って、カメラ設定を変更します。"--get"オプションと同時に指定することはできません。 | --get | 「Getオプション」に従って、現在のカメラ設定を取得します。"--set"オプションと同時に指定することはできません。 | --version | バージョン番号を表示します。 |
カメラ設定の変更を行う際に、どの設定を変更するかを決定するための「Setオプション」を次に示します。「アプリケーションオプション」には"--set"を指定する必要があります。
表6.2 camctrlのSetオプション オプション | 設定値 | 説明 |
---|
--gain | 16〜496までの整数(10進数) | ゲイン値を設定します(自動ゲイン調整機能を無効化します)。この設定は画面全体の明さに影響します。分解能または計算誤差により、設定値と実際の設定が異なる場合があります。"--auto-gain"オプションと同時に指定することはできません。 | --exposure | 0〜1081217までの整数(10進数) | 露光時間をマイクロ秒単位で設定します(自動露光時間調整機能を無効化します)。この設定は画面全体の明さや動体検出時の時間分解能に影響します。分解能または計算誤差により、設定値と実際の設定が異なる場合があります。"--auto-exposure"オプションと同時に指定することはできません。 | --red | 128〜510までの整数(10進数) | 青、赤、緑色それぞれのゲイン値を設定します(自動ホワイトバランス調整機能を無効化します)。この設定は色合いに影響します。青、赤、緑色全てのゲイン値が255以下または256以上となるよう設定してください[]。分解能または計算誤差により、設定値と実際の設定が異なる場合があります。"--auto-white-balance"オプションと同時に指定することはできません。 | --green | --blue | --auto-gain | "on" または "off" | 自動ゲイン調整機能の有効/無効を設定します。"--gain"オプションと同時に指定することはできません。 | --auto-exposure | "on" または "off" | 自動露光時間調整機能の有効/無効を設定します。"--exposure"オプションと同時に指定することはできません。 | --auto-white-balance | "on" または "off" | 自動ホワイトバランス調整機能の有効/無効を設定します。"--red"、"--green"および"--blue"オプションと同時に指定することはできません。 | --colorbar | "on" または "off" | カラーバー出力の有効/無効を設定します。有効化すると、現在取得中の画像にカラーバーが重ね合わせて表示されます。 | --dsp-colorbar | "on" または "off" | DSP[]カラーバー出力の有効/無効を設定します。有効化すると、カラーバーのみが表示されます。 |
カメラ設定の取得を行う際に、どの設定を取得するかを決定するための「Getオプション」を次に示します。「アプリケーションオプション」には"--get"を指定するか、未指定である必要があります。
表6.3 camctrlのGetオプション オプション | 説明 |
---|
--all | 全設定の設定値を表示します。 | --gain | ゲイン値を表示します。表示される数値は10進数の整数です。 | --exposure | 露光時間を表示します。表示される数値はマイクロ秒単位です。 | --red | 赤、緑、青色それぞれのゲイン値を表示します。表示される数値は10進数の整数です。 | --green | --blue | --auto-gain | 自動ゲイン調整機能の有効/無効を表示します。有効時には"on"が、無効時には"off"が表示されます。 | --auto-exposure | 自動露光時間調整機能の有効/無効を表示します。有効時には"on"が、無効時には"off"が表示されます。 | --auto-white-balance | 自動ホワイトバランス調整機能の有効/無効を表示します。有効時には"on"が、無効時には"off"が表示されます。 | --colorbar | カラーバー出力の有効/無効を表示します。有効時には"on"が、無効時には"off"が表示されます。 | --dsp-colorbar | DSPカラーバー出力の有効/無効を表示します。有効時には"on"が、無効時には"off"が表示されます。 |
camctrlコマンドの使用例を次に示します。
| |
---|
guvcviewの再起動やコントロールウィンドウから解像度の切り替えなどの制御を行った場合には、camctrlで設定した設定値は初期化されます。
|
各オプションの使用方法は、「ヘルプオプション」を使用することで表示可能です。「ヘルプオプション」を次に示します。
表6.4 camctrlのヘルプオプション オプション | 説明 |
---|
--help | 「ヘルプオプション」と「アプリケーションオプション」の使用方法を表示します。 | --help-all | 全オプションの使用方法を表示します。 | --help-get | 「Getオプション」の使用方法を表示します。 | --help-set | 「Setオプション」の使用方法を表示します。 |
Armadillo-810のシリアルガジェットは、「CDC-ACM(USB Communication Device Class - Abstract Control Model)」として実装されています。Armadillo-810では/dev/ttyGS0 を、ATDEでは/dev/ttyACM0 を使用したシリアル通信を行うことができます。
シリアルガジェットの動作を確認するには、Armadillo-810の/dev/ttyGS0 にシリアルコンソールを起動させます。ATDEのシリアル通信ソフトウェア(minicom)を用いることで、シリアルガジェット経由でArmadillo-810にログインすることができます。
手順6.1 CDC-ACM通信確認手順
ATDEでminicomを起動します。シリアルデバイスには/dev/ttyACM0 を指定します。
Armadilloでgettyを起動します。シリアルデバイスにはttyGS0 []を指定します。/etc/inittab の設定を有効にするためには、プロセスIDが1であるinitプロセスにSIGHUPシグナルを送る必要があります。
ATDEのminicomにログインプロンプトが表示されます。ユーザー「guest」でログインすることができます。
| |
---|
以下のように/etc/securetty に端末(シリアルデバイス)を登録すると、特権ユーザー「root」でログインすることが可能になります。
|
Armadillo-810のイーサネットガジェットは、「RNDIS(Remote NDIS)」として実装されています。Armadillo-810とATDEは、互いにネットワークインターフェースusb0を使用したネットワーク通信を行うことができます。
Armadillo-810とATDEをイーサネットガジェットで接続すると、IPv4LLという機構を使ってリンクローカルアドレス[]が設定されます。
| |
---|
ATDE5のネットワーク設定は、ネットワークマネージャーを利用せずに "/etc/network/interfaces " に基づいて設定されています。
|
ATDEでイーサネットガジェットを認識したかどうかは、"ifconfig"コマンドの出力結果をみると判断することができます。
| |
---|
イーサネットガジェットのネットワークインターフェース(usb0)のMACアドレスには、Linuxカーネルが生成したランダム値が設定されます。このMACアドレスのうち、特定の意味を持つI/G(Individual/Group)およびU/L(Universal/Local)ビットについてはランダム値ではなく固定の値が設定されます。I/Gビットは0(ユニキャストアドレス)に、U/Lビットは1(ローカルアドレス)に設定されます。
|
Armadillo-810とATDEをイーサネットガジェットで接続すると、マルチキャストDNS(mDNS)という技術を利用してローカルネットワークで利用することができるホスト名が設定されます。mDNSにより設定されるホスト名を次に示します。
表6.5 mDNSで設定されるホスト名 ホスト | ホスト名 |
---|
Armadillo-810 | armadillo810-0.local | ATDE5 | atde5.local |
| |
---|
ATDE5が所属するネットワーク内に複数のATDE5が存在する場合は、mDNSで設定されるホスト名が重複しないように"atde5-2.local"のようなホスト名が設定されます。
ATDE5にmDNSで設定されたホスト名を確認するには、次のようにコマンドを実行します。
|
ネットワーク設定が完了すると、ネットワーク通信ができる状態となります。pingで通信させてみましょう。
イーサネットガジェットを利用することにより、ネットワーク機能を利用することができます。ここでは、ネットワークの設定方法やネットワークを利用するアプリケーションについて説明します。
Armadilloのネットワーク設定の変更方法について説明します。
| |
---|
ネットワーク接続に関する不明な点については、ネットワークの管理者へ相談してください。
|
有効化されているインターフェースを無効化するには、以下のコマンドを使います。設定を変更する前には、かならず無効化してください。
Armadillo上の「/etc/config 」以下にあるファイルを編集し、コンフィグ領域に保存することにより起動時のネットワーク設定を変更することができます。コンフィグ領域の保存については、7章コンフィグ領域 − 設定ファイルの保存領域を参照してください。
6.3.1.2.1. デフォルト状態のネットワーク設定
ネットワーク設定は、/etc/config/interfaces に記述されています。デフォルト状態では、次のように設定されています。
表6.6「固定IPアドレス設定例」に示す内容に設定変更するには、viエディタで/etc/config/interfaces を、図6.12「固定IPアドレス設定」のように編集します。
表6.6 固定IPアドレス設定例 項目 | 設定 |
---|
IPアドレス | 192.168.10.10 | ネットマスク | 255.255.255.0 | ネットワークアドレス | 192.168.10.0 | ブロードキャストアドレス | 192.168.10.255 | デフォルトゲートウェイ | 192.168.10.1 |
| |
---|
イーサネットガジェットは、IPv4LLによってリンクローカルアドレスが設定されるため、通常DHCPに設定する必要はありません。
|
DHCPに設定するには、viエディタで/etc/config/interfaces を、次のように編集します。
DNSサーバーを指定する場合は、viエディタで/etc/config/resolv.conf を編集します。
| |
---|
DHCPを利用している場合には、DHCPサーバーがDNSサーバーを通知する場合があります。この場合、/etc/config/resolv.conf は自動的に更新されます。
|
ここでは、変更したIP設定で正常に通信が可能か確認します。次のように設定を反映させます。
同じネットワーク内にある通信機器とPING通信を行います。
Armadilloでは、簡易ファイアーウォールが動作しています。設定されている内容を参照するには、図6.17「iptables」のようにコマンドを実行してください。
工場出荷イメージで利用することができるネットワークアプリケーションについて説明します。
| |
---|
ATDEとArmadilloのネットワーク設定がデフォルト状態であることを想定して記述しています。ネットワーク設定を変更している場合は適宜読み換えてください。
|
ATDEなどのPCからネットワーク経由でログインし、リモート操作することができます。ログイン可能なユーザを次に示します。
TELNETを使用してATDEからArmadilloにリモートログインする場合の例を、次に示します。
ATDEなどのPCからネットワーク経由でファイル転送することができます。次に示すユーザでログインすることができます。
ftpを使用してATDEからArmadilloにファイルを転送する場合の例を、次に示します。
ATDEからArmadilloにファイルをアップロードすると、/home/ftp/pub/ディレクトリ以下にファイルが作成されています。ダウンロードする場合も、同じディレクトリにファイルを配置してください。
Armadilloでは、HTTPサーバーが動作しています。ATDEなどのPCのWebブラウザからArmadilloのURL (http://armadillo810-0.local/ または、http://[ArmadilloのIPアドレス]/
[]
)にアクセスすると、Armadilloのトップページ(index.html)が表示されます。
Armadillo-810でシリアルポートとして使用可能なデバイスを次に示します。
表6.9 シリアルデバイス インターフェース | デバイスファイル(ATDE5) | デバイスファイル(Armadillo-810) |
---|
シリアルインターフェース1(CON2) | /dev/ttyS0 | /dev/ttySC8 | シリアルインターフェース2(CON3) | /dev/ttyUSB0 | /dev/ttySC2 | USBインターフェース(CON4)[] | /dev/ttyACM0 | /dev/ttyGS0 |
シリアルの動作を確認するには、シリアルコンソールを起動させます。ATDEのシリアル通信ソフトウェア(minicom)を用いることで、シリアル経由でArmadilloにログインすることができます。
| |
---|
Armadillo-810の工場出荷イメージでは、シリアルインターフェース2(CON3)が標準でシリアルコンソールとして使用できるようになっています。
|
シリアルインターフェース1(CON2)をシリアルコンソールとして使用する手順を次に示します。
手順6.2 シリアルコンソールとして使用
ATDEでminicomを起動します。シリアルデバイスには/dev/ttyS0 を指定します。
Armadilloでgettyを起動します。シリアルデバイスには ttySC8 []を指定します。/etc/inittab の設定を有効にするためには、プロセスIDが1であるinitプロセスにSIGHUPシグナルを送る必要があります。
ATDEのminicomにログインプロンプトが表示されます。ユーザー「guest」でログインすることができます。
| |
---|
以下のように/etc/securetty に端末(シリアルデバイス)を登録すると、特権ユーザー「root」でログインすることが可能になります。
|
Armadillo-810でストレージとして使用可能なデバイスを次に示します。
表6.10 ストレージデバイス デバイス種類 | ディスクデバイス | 先頭パーティション |
---|
USBフラッシュメモリ | /dev/sd* [] | /dev/sd*1 | SDカード | /dev/mmcblk0 | /dev/mmcblk0p1 |
ここでは、SDカードを例にストレージの使用方法を説明します。
Linuxでは、アクセス可能なファイルやディレクトリは、一つの木構造にまとめられています。あるストレージデバイスのファイルシステムを、この木構造に追加することを、マウントするといいます。マウントを行うコマンドは、mountです。
mountコマンドの典型的なフォーマットは、次の通りです。
-t オプションに続くfstype には、ファイルシステムタイプを指定します[]。FAT32ファイルシステムの場合はvfat []、EXT3ファイルシステムの場合はext3 を指定します。
device には、ストレージデバイスのデバイスファイル名を指定します。SDカードのパーティション1の場合は/dev/mmcblk0p1 、パーティション2の場合は/dev/mmcblk0p2 となります。
dir には、ストレージデバイスのファイルシステムをマウントするディレクトリを指定します。
SDスロットにSDカードを挿入した状態で図6.23「ストレージのマウント」に示すコマンドを実行すると、/mntディレクトリにSDカードのファイルシステムをマウントします。SDカード内のファイルは、/mntディレクトリ以下に見えるようになります。
| |
---|
FAT32ファイルシステムをマウントした場合、次の警告メッセージが表示される場合があります。
これは無視して構いません。 UTF-8 ロケールでは結局はファイル名の表示を正しく処理できないためです。
|
ストレージを安全に取り外すには、アンマウントする必要があります。アンマウントを行うコマンドは、umountです。オプションとして、アンマウントしたいデバイスがマウントされているディレクトリを指定します。
6.5.2. ストレージのパーティション変更とフォーマット
通常、購入したばかりのSDカードやUSBメモリは、一つのパーティションを持ち、FAT32ファイルシステムでフォーマットされています。
パーティション構成を変更したい場合、fdiskコマンドを使用します。fdiskコマンドの使用例として、一つのパーティションで構成されているSDカードのパーティションを、2つに分割する例を図6.25「fdiskコマンドによるパーティション変更」に示します。一度、既存のパーティションを削除してから、新たにプライマリパーティションを二つ作成しています。先頭のパーティションには100MByte、二つめのパーティションに残りの容量を割り当てています。先頭のパーティションは/dev/mmcblk0p1、二つめは/dev/mmcblk0p2となります。fdiskコマンドの詳細な使い方は、manページ等をご参照ください。
FAT32ファイルシステムでストレージデバイスをフォーマットするには、mkfs.vfatコマンドを使用します。また、EXT2やEXT3ファイルシステムでフォーマットするには、mke2fsコマンドを使用します。SDカードのパーティション1をEXT3ファイルシステムでフォーマットするコマンド例を、次に示します。
AVコーデックミドルウェアを使い、Armadillo-810 カメラモジュール 01 (B コネクタ用)のカメラデバイスから取り込んだ画像をH.264/AVCでエンコードし、MP4(MPEG-4 Part 14)コンテナに格納する方法を説明します。
| |
---|
AVコーデックミドルウェアには、Atmark Dist v20140131以降(ユーザーランドイメージ romfs-a810-v1.04.img以降)、Linuxカーネル v3.4-at6以降(カーネルイメージ linux-a810-v1.05.img.gz 以降)で対応しています。それ以前のものを使用されている場合、本節で説明する動作確認を行う前にイメージを対応バージョンに書き換えてください。
|
標準状態ではuvc-gadgetが起動しており、それがカメラデバイスを使用しています。AVコーデックミドルウェアでカメラデバイスを扱う前に、uvc-gadgetを停止させてください。
また、エンコード結果のファイルはサイズが大きくなるので、ストレージに保存します。「ストレージ」を参照して、USBメモリやSDカード等のストレージデバイスを/mntにマウントしておいてください。
Armadillo-810 カメラモデルの場合、Armadillo-810 カメラモジュール01 (Bコネクタ用)のデバイスファイルは/dev/video1 となります。下記のコマンドを実行すると、カメラデバイスから取り込んだ画像をエンコードし、MP4ファイルに保存します。エンコードを停止する場合は、Ctrl+cを入力してください。
| |
---|
次のようにnum-buffersプロパティを指定すると、カメラデバイスから取り込む画像の枚数を指定することできます。
|
Armadillo-810のLEDは、LEDクラスとして実装されています。LEDクラスディレクトリ以下のファイルによってLEDの制御を行うことができます。LEDクラスディレクトリとLEDの対応については、表6.11「LEDクラスディレクトリとLEDの対応」を参照してください。
表6.11 LEDクラスディレクトリとLEDの対応 LEDクラスディレクトリ | 説明 | デフォルトトリガ |
---|
/sys/class/leds/LED1/ | LED1 (黄) | none | /sys/class/leds/LED2/ | LED2 (黄) | none | /sys/class/leds/LED3/ | LED3 (黄) | none | /sys/class/leds/LED4/ | LED4 (黄) | none |
以降の説明では、任意のLEDを示すLEDクラスディレクトリを"/sys/class/leds/[LED] "のように表記します。
LEDクラスディレクトリ以下のbrightnessファイルへ値を書き込むことによって、LEDの点灯/消灯を行うことができます。brightnessに書き込む有効な値は0〜255です。
brightnessに0以外の値を書き込むとLEDが点灯します。
| |
---|
Armadillo-810のLEDには輝度制御の機能が無いため、0 (消灯)、1〜255 (点灯)の2つの状態のみ指定することができます。
|
brightnessに0を書き込むとLEDが消灯します。
brightnessを読み出すとLEDの状態が取得できます。
LEDクラスディレクトリ以下のtriggerファイルへ値を書き込むことによってLEDの点灯/消灯にトリガを設定することができます。triggerに書き込む有効な値を次に示します。
表6.12 triggerの種類 設定 | 説明 |
---|
none | トリガを設定しません。 | mmc0 | SDカードのアクセスランプにします。 | timer | 任意のタイミングで点灯/消灯を行います。この設定にすることにより、LEDクラスディレクトリ以下にdelay_on, delay_offファイルが出現し、それぞれ点灯時間, 消灯時間をミリ秒単位で指定します。 | heartbeat | 心拍のように点灯/消灯を行います。工場出荷イメージでは設定することができません。 | default-on | 主にカーネルから使用します。起動時にLEDが点灯します。工場出荷イメージでは設定することができません。 |
以下のコマンドを実行すると、LEDが1秒点灯、500ミリ秒消灯を繰り返します。
triggerを読み出すとLEDのトリガが取得できます。"[ ]"が付いているものが現在のトリガです。
Armadillo-810のGPIOは、generic GPIOとして実装されています。GPIOクラスディレクトリ以下のファイルによってGPIOの制御を行うことができます。GPIOクラスディレクトリとGPIOの対応を次に示します。
表6.13 Armadillo-810 拡張ボード01 (Aコネクタ用)のCON2のGPIOディレクトリ ピン番号 | GPIOディレクトリ |
---|
CON2 1ピン | /sys/class/gpio/gpio66/ | CON2 2ピン | /sys/class/gpio/gpio67/ | CON2 3ピン | /sys/class/gpio/gpio68/ | CON2 4ピン | /sys/class/gpio/gpio69/ | CON2 5ピン | /sys/class/gpio/gpio70/ | CON2 6ピン | /sys/class/gpio/gpio71/ | CON2 7ピン | /sys/class/gpio/gpio72/ | CON2 8ピン | /sys/class/gpio/gpio73/ | CON2 9ピン | /sys/class/gpio/gpio74/ | CON2 10ピン | /sys/class/gpio/gpio75/ | CON2 13ピン | /sys/class/gpio/gpio160/ | CON2 14ピン | /sys/class/gpio/gpio161/ | CON2 15ピン | /sys/class/gpio/gpio159/ | CON2 16ピン | /sys/class/gpio/gpio162/ | CON2 18ピン | /sys/class/gpio/gpio7/ | CON2 19ピン | /sys/class/gpio/gpio8/ | CON2 20ピン | /sys/class/gpio/gpio10/ | CON2 21ピン | /sys/class/gpio/gpio11/ | CON2 22ピン | /sys/class/gpio/gpio20/ | CON2 23ピン | /sys/class/gpio/gpio12/ | CON2 24ピン | /sys/class/gpio/gpio5/ | CON2 25ピン | /sys/class/gpio/gpio13/ | CON2 26ピン | /sys/class/gpio/gpio9/ |
以降の説明では、任意のGPIOを示すGPIOクラスディレクトリを"/sys/class/gpio/[GPIO] "のように表記します。
GPIOディレクトリ以下のdirectionファイルへ値を書き込むことによって、入出力方向を変更することができます。directionに書き込む有効な値を次に示します。
表6.14 directionの設定 設定 | 説明 |
---|
high | 入出力方向をOUTPUTに設定します。出力レベルの取得/設定を行うことができます。出力レベルはHIGHレベルになります。 | out | 入出力方向をOUTPUTに設定します。出力レベルの取得/設定を行うことができます。出力レベルはLOWレベルになります。 | low | outを設定した場合と同じです。 | in | 入出力方向をINPUTに設定します。入力レベルの取得を行うことができますが設定はできません。 |
GPIOディレクトリ以下のvalueファイルから値を読み出すことによって、入力レベルを取得することができます。"0"はLOWレベル、"1"はHIGHレベルを表わします。入力レベルの取得は入出力方向がINPUT, OUTPUTのどちらでも行うことができます。入出力方向がOUTPUTの時に読み出される値は、GPIOピンの状態ではなく、自分がvalueファイルに書き込んだ値となります。
GPIOディレクトリ以下のvalueファイルへ値を書き込むことによって、出力レベルを設定することができます。"0"はLOWレベル、"0"以外はHIGHレベルを表わします。出力レベルの設定は入出力方向がOUTPUTでなければ行うことはできません。
Armadillo-810 拡張ボード01 (Aコネクタ用)には、カレンダ時計(Real Time Clock)が実装されています。電源を切断しても一定時間(平均300秒間、最小60秒間)時刻を保持することができます
| |
---|
長時間電源が切断されても時刻データを保持させたい場合は、Armadillo-810 拡張ボード01 (Aコネクタ用)のCON8(RTC外部バックアップ)にバッテリ(対応電池: CR2032)を接続します。
|
Linuxの時刻には、Linuxカーネルが管理するシステムクロックと、RTCが管理するハードウェアクロックの2種類があります。RTCに時刻を設定するためには、まずシステムクロックを設定します。その後に、ハードウェアクロックをシステムクロックと一致させる手順となります。
システムクロックは、dateコマンドを用いて設定します。dateコマンドの引数には、設定する時刻を[MMDDhhmmCCYY.ss]というフォーマットで指定します。時刻フォーマットの各フィールドの意味を次に示します。
表6.15 時刻フォーマットのフィールド フィールド | 意味 |
---|
MM | 月 | DD | 日(月内通算) | hh | 時 | mm | 分 | CC | 年の最初の2桁(省略可) | YY | 年の最後の2桁(省略可) | ss | 秒(省略可) |
2013年1月23日4時56分00秒に設定する例を次に示します。
システムクロックを設定後、ハードウェアクロックをhwclockコマンドを用いて設定します。
| |
|