サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
manual.atmark-techno.com
本章では、 Armadillo-640のブートローダーである U-Boot の起動モードや利用することができる機能について説明します。 Armadillo-200 シリーズ、400シリーズでは、ブートローダーに Hermit を使用していました。 Armadillo-640 では、他の最近の Armadillo シリーズ (Armadillo-IoT など) に合せ、U-Boot を採用しています。 U-Boot は Open Source で開発されているブートローダーで、特に組み込み機器に良く使われています。 U-Boot のマニュアルは、 Denx Software Engineering の U-Boot のページ (https://www.denx.de/wiki/U-Boot/WebHome) からアクセスできます。 U-Boot はブートローダーなので、OS を起動するのが仕
起動時に特定のコマンドを自動実行したい場合、コマンドをスクリプトに記述し、それを初期化スクリプトとして登録[53]します。 初期化スクリプトは、以下の順番で実行されます。 通常、/etc/init.d/rcファイルは固定で、/etc/rc.dディレクトリ内のファイルや/etc/config/rc.localをシステムに合わせて変更します。 Armadilloでは、ルートファイルシステムにRAMディスクを置いているため、/etc/rc.dディレクトリのファイルをArmadillo上で変更しても、次回起動時にはその変更は失われます。/etc/rc.dディレクトリの内容を変更したい場合には、毎回ルートファイルシステムイメージを作成しなおさなければならないため、開発の初期段階などファイルの変更が頻繁にある場合、効率が良くありません。 一方で、/etc/configディレクトリの内容は、flatfs
Armadillo-810をUSBデバイスとして使用することができます。ここでは動作確認をATDE5で行うため、「取り外し可能デバイスの使用」を参照してATDE5とArmadillo-810のCON4をUSB2.0 ケーブルで接続する必要があります。 USBデバイスの機能は、LinuxカーネルのUSBガジェットドライバによって提供されます。USBガジェットドライバは様々な種類のものが用意されていますが、工場出荷イメージではArmadillo-810をUSB複合デバイス[8]として使用することができる「UVC Composite Gadget」が有効になっています。 UVC Composite Gadgetは以下に示す3種類のUSBデバイス機能を持っています。各機能は同時に利用することができます。 UVCガジェット Armadilloをビデオ出力デバイス、ATDEをビデオ入力デバイスとして扱
Linuxは、1991年にLinus Torvalds氏が公開したOS(オペレーティングシステム)です。当初はインテルx86アーキテクチャのPC向けの、わずか1万行程度のソースコードによって記述された小さなOSでした。しかしその後Linuxは驚異的な進化を遂げ、今日ではx86以外にもARM、PowerPC、MIPS 、SuperHなど様々なアーキテクチャのコンピュータで動作するようになり、組み込みシステムからPC、サーバー、スーパーコンピューターまで幅広い用途で使用されています。 厳密にいうと、LinuxとはCPU、メモリ、タイマーなどのリソース管理、プロセス管理、デバイス制御などをおこなうOSの中心となる部分(これをカーネルと呼びます)だけを指します。一つのシステムとして動作するには、アプリケーションプログラムや各種ライブラリなど(これらをユーザーランドと呼びます)が別途必要です。こうし
ここではカメラデバイスを制御するアプリケーションを実装する方法について、C言語で実装されている既存のソースコードをサンプルに、カメラデバイスの初期化方法やデータの取得方法などについて説明します。 Linuxカーネルのカメラドライバは、Video for Linux Two(V4L2)というビデオキャプチャAPIとして実装するのが一般的です。Armadillo-810 カメラモジュール01 (Bコネクタ用)のデバイスドライバもV4L2デバイスとして実装されているため、ユーザーアプリケーションからは、このV4L2 APIで扱うことができます。 Video for Linux Two(V4L2)についての詳しい情報は、「LINUX MEDIA INFRASTRUCTURE API」の「Video for Linux Two API Specification」やLinuxの解説書籍などをご覧くだ
図目次 1.1. コマンド入力表記例1.2. クリエイティブコモンズライセンス2.1. USBメモリの接続2.2. USBメモリのアイコン2.3. USBメモリの接続2.4. USBメモリのアイコン2.5. apt-cache searchによるパッケージの検索2.6. lsコマンドが含まれているパッケージを調べる2.7. apt-get installによるパッケージのインストール2.8. apt-crossコマンド3.1. --helpオプションでコマンドの使用方法を調べる3.2. コマンドの使用方法を調べる(--helpオプションをサポートしていない場合)3.3. catコマンドの使用方法を調べる3.4. ユーザーの切り替え(suコマンド)3.5. 一時的なユーザーの切り替え(sudoコマンド)3.6. ユーザーの追加(useraddコマンド)3.7. パスワードの設定(passwd
本章では、Armadillo-400 シリーズのハードウェア機能をカスタマイズする方法について説明します。 Armadillo-400シリーズは、標準状態でシリアルインターフェース1(CON3)をコンソールとして使用します。コンソールには、起動ログやカーネルメッセージなどが出力されるため、標準の設定ではシリアルインターフェース1に外部機器を接続して使用するといったことはできません。ここでは、コンソールとして別のシリアルインターフェースを使用する方法について説明します。例として、コンソールをシリアルインターフェース2(CON9 3、CON9 5)に変更します。 第1部「起動の仕組み」でも説明したように、コンソールに文字を表示するプログラムには、ブートローダー、Linuxカーネル、ユーザーランドアプリケーションプログラムの3種類があります。 まず、ブートローダーの起動ログとカーネルメッセージを
表5.1「アクセスポイントの設定」で調べたアクセスポイントの設定に合わせて、無線LAN接続の設定をします。 暗号化方式が、WPA-PSKまたはWPA2-PSKの場合は、図7.1「アクセスポイントの設定(暗号化方式がWPA-PSK、またはWPA2-PSKの場合)」を、暗号化方式がWEPの場合は、図7.2「アクセスポイントの設定(暗号化方式がWEPの場合)」を参考に無線LANの設定を行ってください。 [PC ~]# iwconfig awlan0 essid [essid] [PC ~]# iwconfig awlan0 mode Managed [PC ~]# iwpriv awlan0 set_psk [passphrase] [PC ~]# iwpriv awlan0 set_cryptmode [encryption]
C言語でのプログラミングに入る前に、本章では、シェルスクリプトを用いたプログラミングについて説明します。 GUIを前提としたWindowsとは異なり、Linuxを含むUNIXシステムでは、基本的にすべての操作をコマンドラインインターフェースから行うことができます。 シェルは、コマンドラインプロンプトから入力されたコマンドを、Linuxシステムに受け渡す機能を持ったプログラムです。シェルは、ユーザーから入力されたコマンドを一つ一つ実行するだけでなく、ファイルに記述されたコマンドを逐次実行するインタープリタとしての機能も有しています。 シェルが解釈できる形式で記述されたプログラムを、シェルスクリプトと呼びます。 シェルは構造化プログラミングが可能で、その機能は非常に強力です。Linuxの豊富なコマンドと合わせることで、アプリケーションプログラムのプロトタイプをシェルスクリプトで記述することもで
この章では、C言語を使用した実践的なプログラミングを取り上げます。 一口にプログラミングといっても、ちょっとしたファイルの読み書きやデバイス操作を実現するだけの簡単なものから、複雑な演算を行ったりネットワークを介してサービスを提供し続けるような高度なものまで、多岐に渡ります。ここではその中から、誰もが様々な場面で使うであろう基本的技術と、Armadilloが持つインターフェースを通じて行う操作の代表的なものを中心に、分野ごとに分けて紹介していきます。 Linuxや開発環境に依存した独特な部分に留意しつつ、組み込みならではの使用方法を想定した応用例やノウハウについても多く記載したつもりです。プログラミング経験豊富な方であってもおさらいのつもりで読んでみて、一般的なプログラミング本では解説されていない情報を見つけていただければ幸いです。 C言語で書かれたプログラムは、実行できる状態にするために
本章では、Armadillo-400 シリーズに固有な Linux カーネルのデバイスドライバーの仕様について説明します。 Armadillo-400 シリーズでは、カーネルコンフィギュレーションを変更することにより、標準で有効になっているもの以外の様々な機能を使用することができます。 Armadillo-400 シリーズで、標準で有効になっていないデバイスドライバーを使用するためには、以下の手順でカーネルコンフィギュレーションをおこなう必要があります。 ボードオプションによりどのピンに機能を割り当てるか選択する。 ボードオプションは、make menuconfig でコンフィギュレーションを行う場合、Linux Kernel Configuration の System Type -> Freescale MXC Implementations -> MX25 Options -> Ar
Linuxシステムを組み込みで使うには、通常のLinuxシステムと同様に、その運用、管理方法についても知っておく必要があります。本章では、Linuxシステムの基本的な運用、管理方法について、その背景となる仕組みも交えながら説明していきます。 Linuxシステムには、便利なコマンドが数多く用意されています。ここでは、コマンドの使い方を調べる方法について紹介します。 使い方が分からないコマンドに遭遇したら、まず、コマンド自身のヘルプを見てみましょう。コマンドに--helpオプションをつけて実行すると、多くの場合ヘルプを表示してくれます。 [ATDE ~]$ cat --help 使用法: cat [オプション] [ファイル]... Concatenate FILE(s), or standard input, to standard output. -A, --show-all equival
本章では、Armadillo-400 シリーズに固有な Linux カーネルのデバイスドライバーの仕様について説明します。 Armadillo-400 シリーズでは、カーネルコンフィギュレーションを変更することにより、標準で有効になっているもの以外の様々な機能を使用することができます。 カーネルコンフィギュレーションを変更する方法は、「イメージをカスタマイズする」を参照してください。 Armadillo-400 シリーズで標準以外の機能を追加する場合には、ボードオプションによりどのピンに機能を割り当てるか選択し、(標準で有効になっていない場合は)対応するデバイスドライバーを有効にする必要があります。ボードオプションは、Linux Kernel ConfigurationのSystem Type -> Freescale MXC Implementations -> MX25 Options
起動時に特定のコマンドを自動実行したい場合、コマンドをスクリプトに記述し、それを初期化スクリプトとして登録[56]します。 初期化スクリプトは、以下の順番で実行されます。 /etc/init.d/rcファイル。/etc/rc.d/ディレクトリにあるファイル。/etc/config/rc.localファイル。 通常、/etc/init.d/rcファイルは固定で、/etc/rc.dディレクトリ内のファイルや/etc/config/rc.localをシステムに合わせて変更します。 Armadilloでは、ルートファイルシステムにRAMディスクを置いているため、/etc/rc.dディレクトリのファイルをArmadillo上で変更しても、次回起動時にはその変更は失われます。/etc/rc.dディレクトリの内容を変更したい場合には、毎回ルートファイルシステムイメージを作成しなおさなければならないため、
本章では、Armadillo-400 シリーズに固有な Linux カーネルのデバイスドライバーの仕様について説明します。 Armadillo-400 シリーズでは、カーネルコンフィギュレーションを変更することにより、標準で有効になっているもの以外の様々な機能を使用することができます。 Armadillo-400で、標準で有効になっていないデバイスドライバーを使用するためには、以下の手順でカーネルコンフィギュレーションをおこなう必要があります。 ボードオプションによりどのピンに機能を割り当てるか選択する。 ボードオプションは、make menuconfig でコンフィギュレーションを行う場合、Linux Kernel Configuration の System Type -> Freescale MXC Implementations -> MX25 Options -> Armadil
図目次 1.1. コマンド入力表記例1.2. クリエイティブコモンズライセンス2.1. Linuxシステムアーキテクチャ3.1. Armadillo ロゴ3.2. Armadillo シリーズ3.3. Armadillo-400 シリーズブロック図3.4. Armadillo-420ベーシックモデル見取り図3.5. Armadillo-440液晶モデル見取り図3.6. Armadillo-400シリーズで出来ること3.7. Armadilloを採用した場合の開発の流れ4.1. Armadillo-440液晶モデル接続例4.2. Armadillo-420ベーシックモデル接続例4.3. Tera Term: 新しい接続画面4.4. Tera Term画面4.5. Tera Term: シリアルポート設定画面4.6. デバイスマネージャー画面4.7. Tera Term画面4.8. minic
Out of Treeコンパイルでは、atmark-distに含まれるビルドシステムやライブラリ群を使うため、一度ビルドされているatmark-distが必要です。まず、atmark-distがターゲットボード用にコンフィギュレーションかつビルドされていることを確認してください。 次に、開発するデバイスドライバ用のディレクトリをatmark-distのディレクトリ構造の外に用意します。この中には、Makefileと必要なCのソースコードやヘッダファイルを配置します。 [PC ~]$ ls atmark-dist-[version] [PC ~]$ mkdir message [PC ~]$ ls atmark-dist-[version] message [PC ~]$ ls message Makefile message.c message.cは、以下を使用します。 /** * Cha
このページを最初にブックマークしてみませんか?
『manual.atmark-techno.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く