はじめに

第1部では、Armadilloを使った組み込みシステムを構築する方法の全体像について説明を行いました。第2部では、システムの開発段階で役に立つ、より実践的な事柄について説明します。

まず、2章開発環境の整備と運用で、開発環境ATDE5について第1部で説明しきれなかった詳細な設定方法や、パッケージ管理などの運用方法について説明します。

3章Linuxシステムの仕組みと運用、管理では、Linuxシステム特有の用語や様々なコマンドについて、網羅的に紹介します。分からない用語やコマンドがあった場合のリファレンスとして活用してください。

続いて、4章Armadillo上にDebian GNU/Linuxを構築するで、ArmadilloのルートファイルシステムをDebian GNU/Linuxにする方法について説明します。Armadilloの標準のディストリビューションはAtmark Distですが、Debian GNU/Linuxを使うと様々なアプリケーションプログラムを簡単にインストールできるなど、開発効率が高まります。そのため、開発段階ではDebian GNU/Linuxを使うことを推奨します。

プログラミングの最初の話題として、5章シェルスクリプトプログラミングを取り上げます。Linuxシステムに不慣れな方でも読めるように、基本的な文法から丁寧に説明をおこないます。

6章C言語による実践プログラミングは、C言語経験者を対象とした内容になっています。そのため、C言語の文法に関する説明は行いません。Linuxシステムや開発環境に依存した独特な部分や、組み込みシステムでアプリケーションプログラムを開発する際に問題となることにフォーカスして説明します。

7章詳解Atmark Distでは、Atmark Distの仕組みや動作について説明します。Debian GNU/Linuxを使うと開発段階では便利ですが、組み込みシステムとしてみた場合、冗長な部分もあります。Atmark Distを使うことで製品に最適化されたシステムを作ることができます。

最後に、8章組み込みシステム構築の定石にArmadilloを使って組み込みシステムを構築する上での、組み込みまたはArmadillo特有のノウハウについて、まとめました。この章に書いてあることは他の本には書いていませんが、とても重要な部分です。

1.1. 対象読者

本書が主な対象読者としているのは、Armadilloを使って組み込みシステムを開発したいと考えているソフトウェア開発者です。ソフトウェア開発者は、少なくともC言語での開発経験が必要です。LinuxやArmadilloを使用した開発の経験が少ない場合や開発の全体像を把握していない場合は、第1部から読むことをお勧めします。

1.2. 表記方法

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

1.2.1. 使用するフォント

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

表1.1 使用するフォント

フォント例 使用箇所

本文中のフォント

本文

等幅

コマンド入力例やソースコード

太字

ユーザーが入力する文字

斜体

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

下線

キー入力


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

1.2.2.1. Linuxシステムの場合

Linuxシステムでの端末からのコマンド入力例は、以下のように表記します。

[PC ~/]$ ls

図1.1 コマンド入力表記例(Linuxシステム)


[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.2.2.2. 保守モードの場合

Armadilloを保守モードで起動した場合のコマンド入力例は以下のように表記します。

hermit> info

図1.2 コマンド入力表記例(保守モード)


保守モードでは、プロンプトは「hermit>」となります。プロンプトに続いてコマンドを入力してください。

1.2.3. コラムの表記方法

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

[注記]メモ

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

[ティップ]ヒント

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

[警告]注意

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

[警告]注意: 本書の内容を実践する前に

ご使用になる製品のマニュアル(ハードウェアマニュアル、ソフトウェアマニュアル、その他関連資料)をよく読み、それらに記述されている注意事項に従って正しく安全にお使いください。

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

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

1.4. 困った時は

本書を読んでわからなかったり困ったことがあった際は、ぜひArmadilloサイト[2]で情報を探してみてください。本書には記載しきれていないFAQやHowtoが掲載されています。

Armadilloサイトでも知りたい情報が見つからない場合は、「Armadilloフォーラム」[3]で質問してみてください。Armadilloフォーラムは、アットマークテクノユーザーズサイト内に設けられた、Armadilloブランド製品での開発や周辺技術に関する話題を扱うユーザー向けコミュニティです。Armadilloに関する技術的な話題なら何でも投稿できます。多くのユーザーや開発者が参加しているので、知識のある人や同じ問題で困ったことがある人から情報を集めることができます。

[注記]フォーラムに参加するときの心構え

Armadilloフォーラムには、その前身となったメーリングリストから引き続き、数百人のユーザーが参加しています。また、フォーラムへ投稿した内容はWeb上で誰でも閲覧・検索可能になるほか、通知を希望しているユーザーにメールで送信されます。

フォーラムには多くの人が参加しており、投稿内容は多くの人の目に触れますので、そこにはマナーが存在します。一般的な対人関係と同様に、受け取り手に対して失礼にならないよう一定の配慮はすべきです。技術系コミュニティに不慣れな方は、投稿する前に「技術系メーリングリストで質問するときのパターン・ランゲージ」[4] をご一読されることをお勧めします。メーリングリストに投稿するときの心構えや、適切な回答を得るために有用なテクニックが分かりやすく紹介されています。メーリングリストとフォーラムの違いはあれど、基本的な考え方は共通しており、とても参考になります。

とはいえ、技術的に簡単なものであるとか、ちょっとした疑問だからという理由で、投稿をためらう必要はありません。Armadilloに関係のある内容であれば、難しく考えることなく気軽にお使いください。

1.5. お問い合わせ先

本書に関するご意見やご質問は、Armadilloフォーラム[3]にご連絡ください。何らかの事情でフォーラムに投稿する事ができない場合は、以下にご連絡ください。

株式会社アットマークテクノ 横浜営業所
〒 221-0835 横浜市神奈川区鶴屋町3丁目30-4 明治安田生命横浜西口ビル 7F
電話        045-548-5651
FAX         050-3737-4597
電子メール  sales@atmark-techno.com

1.6. 商標

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

1.7. ライセンス

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

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

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


1.8. 謝辞

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