はじめに

Linuxが動くARM CPU搭載の汎用ボードコンピュータというコンセプトで、初代Armadillo (HT1070)が発売されたのは2001年11月のことでした。発売当初は、「ARMよりもSuperHで作ってほしい」、「組み込み機器でLinuxを動かして意味があるの?」、「リアルタイムOSでなくて良いの?」といった、どちらかというと否定的な意見が多かったと聞きます[1]

初代Armadilloの発売から約10年の月日が経ち、Linux+ARMという組み合わせは、携帯電話を初めとして、もはや当たり前の選択となってきました。それに伴い、Armadilloシリーズも毎年のように新製品を発表し、多くのユーザーに支えられて成長してきました。

ユーザー数が増えるにつれ、「組み込みでLinux を使うにあたり、系統立てて学ぶ方法はないか?」といったご相談を受けることが多くなりました。

Linuxで組み込みシステムの開発を行うにあたっては、Linuxそのものの使いかた、Linuxの仕組みについての理解、クロス開発についての理解、そして、ターゲットとなるボードごとの知識の習得など、多くの課題があります。しかしながら、それらを体系的に解説している書籍などは、なかなか見つからないのが現状です。

本書は、そういった問題を少しでも解決できればと思い、執筆しました。

本書では、何らかの組み込みシステムを開発したいと考えているユーザーが、Armadilloを使用してシステムを構築し、量産につなげるために必要な一連の手順を示します。ユーザーは、上から順番に読んでいくとシステムを開発するときに行うべき手順を把握できます。また、Armadilloを使う上でのノウハウを詰め込んでありますので、開発で行き詰まった時にリファレンスとして活用することもできます。

本書が、皆様の開発のお役に立てば幸いです。

1.1. 対象読者

本書が主な対象読者としているのは、Armadilloを使って組み込みシステムを開発したいと考えているソフトウェア開発者です。ソフトウェア開発者は、少なくともC言語での開発経験が必要です。ただし、Linuxの使用経験はなくとも読み進められるように配慮してあります。

また、本書は、Armadilloと組み込みLinuxの組み合わせでどのようなことが実現可能か知りたいと願っている設計者、企画者も対象としています。Armadilloは、汎用ボードコンピュータなので、標準で有効になっている機能以外にも様々な機能を実現することができます。どのようなことができて、できないことは何なのかについても説明しています。

1.2. 本書の構成

本書は、大きく分けて二部構成になっています。

第1部では、Armadilloを使った組み込みシステム開発というものがどういうものか、一連の流れとして説明します。これまで組み込みシステム開発の経験がない方や、Linuxでの開発経験がない方でも理解できるよう、基本的な用語や操作方法から説明します。第1部を読了すると、開発を始めるための基本的な知識を習得し、開発の全体的な流れを把握できるようになります。

第2部では、実践的な開発に役立つ事柄について説明します。効率的に開発するための開発環境の整備、Linuxの仕組みについてのより詳細な説明、組み込みやArmadillo特有のプログラミング技法、システム構築上のノウハウなどについて述べます。第2部を読了すると、実際の開発で直面するであろう、種々の問題を解決できるようになっているでしょう。

1.3. 表記方法

本書で使用している表記方法について説明します。

1.3.1. 使用するフォント

フォントは以下のものを使用します。

表1.1 使用するフォント

フォント例 使用箇所

本文中のフォント

本文

等幅

コンソールやソースコード

太字

ユーザーが入力する文字

斜体

状況によって置き換えられるもの

下線

キー入力


1.3.2. コマンド入力例の表記方法

コマンド入力例は、以下のように表記します。

[PC ~/]$ ls

図1.1 コマンド入力表記例


「[PC ~/]$」の部分をプロンプトと呼びます。ユーザーは、プロンプトに続けてコマンドを入力します。

「PC」の部分は、コマンドを実行する環境によって使い分けます。実行環境には、以下のものがあります。

表1.2 コマンドの実行環境と対応する表記

表記 実行環境

PC

作業用PC

ATDE

ATDE(Atmark Techno Development Environment[a])

armadillo

Armadillo(Atmark Distで作成したユーザーランドの場合)

darmadillo

Armadillo(ユーザーランドがDebian GNU/Linuxの場合)

[a] アットマークテクノ社製品用の開発環境


「$」の部分は、コマンドを実行するユーザーの種類によって使い分けます。ユーザーの種類には、以下の二種類があります。

表1.3 ユーザーの種類と対応する表記

表記 権限

#

特権ユーザー

$

一般ユーザー


プロンプトの表記方法やそれぞれの用語については、本文中で詳しく説明します。

1.3.3. コラムの表記方法

本書では、随所にコラムを記載しています。コラムの内容によって、以下の表記を用います。

[注記]メモ

用語の説明や補足的な説明は、このアイコンで示します。

[ティップ]ヒント

知っていると便利な情報は、このアイコンで示します。

[警告]注意

ユーザーの注意が必要な情報は、このアイコンで示します。このアイコンが付いているコラムの内容に従わない場合、以降の作業に支障をきたす場合があります。再度、ご確認ください。

[注意]危険

危険な操作に関する情報は、このアイコンで示します。このアイコンが付いているコラムの内容に従わない場合、ハードウェアやシステムを破壊してしまう場合があります。必ず確認してください。

1.4. サンプルソースコード

本書で紹介するサンプルソースコードは、http://download.atmark-techno.com/armadillo-guide/source/ からダウンロードできます。サンプルソースコードは、MITライセンス[2]の下に公開します。

1.5. 困った時は

もし、本書を読んで困ったことがあった場合は、ぜひArmadillo 開発者サイト[3]で情報を探してください。本書に含まれていない FAQ や How To が掲載されています。

また、Armadillo 開発者サイトでも情報がみつからない場合は、Armadillo シリーズに関した話題を扱っているArmadillo メーリングリスト[4]で質問してみてください。同じ問題で困ったことがある人や開発者が参加しているので、情報を集めることができるかもしれません。

[注記]メーリングリストに参加する場合の心構え

メーリングリストには数百人の人が参加しています。メーリングリストに送られたメールはメーリングリスト参加者すべてに送られ、アーカイブとして Web 上で誰でも閲覧可能な状態になります。

そのため、通常の対人関係と同様に、受け取り手に対して失礼にならないように配慮する必要があります。

ただし、技術的に簡単なものだからといって、質問することをためらう必要性はまったくありません。

また、適切な質問をすると適切なアドバイスが得られる可能性が高まりますが、その逆もまた然りです。

メーリングリストに不慣れな人は、質問する前に「技術系メーリングリストで質問するときのパターン・ランゲージ」[5] などに目を通しておくと良いでしょう。

1.6. お問い合わせ先

本書に関するご意見やご質問は、Armadillo メーリングリスト[6] にご連絡ください。

何らかの事情でメーリングリストが使えない場合は、以下にご連絡ください。

株式会社アットマークテクノ
〒 060-0035 北海道札幌市中央区北5条東2丁目 AFT ビル 6F
電話        011-207-6550
FAX         011-207-6570
電子メール  sales@atmark-techno.com

1.7. 商標

Armadilloは、株式会社アットマークテクノの登録商標です。その他の記載の商品名および会社名は、各社・各団体の商標または登録商標です。

1.8. ライセンス

本書は、クリエイティブコモンズの表示-改変禁止 2.1 日本ライセンスの下に公開します。ライセンスの内容はhttp://creativecommons.org/licenses/by-nd/2.1/jp/ でご確認ください。

クリエイティブコモンズライセンス

図1.2 クリエイティブコモンズライセンス


1.9. 謝辞

Armadilloで使用しているソフトウェアはFree Software/Open Source Software で構成されています。Free Software/Open Source Softwareは世界中の多くの開発者や関係者の貢献によって成り立っています。この場を借りて感謝の意を表します。