はじめに

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

初代Armadilloの発売から20年近い歳月が過ぎ、Linux+ARMという組み合わせは今では当たり前の選択となりましたが、Linuxで組み込みシステムの開発を行うにあたっては、Linuxそのものの使い方、Linuxの仕組みについての理解、クロス開発についての理解、そしてターゲットとなるボードごとの知識の習得など、多くの課題があります。

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

過去にいただいたお問い合わせや、メーリングリストでのやりとりなどを踏まえて、多くのお客様にとってつまづきやすい点、知りたいとリクエストいただいた内容をなるべく多く取り入れたつもりです。 つたない記述もあるかと思いますが、本書を皆様の開発に役立てていただければ幸いです。

1.1. 対象読者

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

また、Armadilloと組み込みLinuxの組み合わせでどのようなことが実現可能か知りたいと考えている設計者、企画者も対象としています。 Armadilloは汎用ボードコンピューターですので、標準で有効になっている機能以外にも様々な機能を実現することができます。 Armadillo-600シリーズでどのようなことができて、できないことは何なのかについては製品マニュアルをご一読いただき、実際に使いこなす際に本書をお使いいただければと思います。

1.2. 本書の構成

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

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

「ソフトウェア開発編」では、実践的な開発に役立つ事柄について説明します。 効率的に開発するための開発環境の整備、 Linuxの仕組みについてのより詳細な情報、 組み込みやArmadillo特有のプログラミング技法、 システム構築上のノウハウなどについて解説します。 「ソフトウェア開発編」を読み終える頃には、 実際の開発で直面するであろう種々の問題が解決できるようになっていただけると思います。

「ハードウェア拡張編」では、様々な外部機器をArmadilloに接続して使う方法を紹介します。 1つの機器ごとにHowto形式で書かれており、ここまでを習得された方であれば容易に読み解ける内容になっています。

1.3. 表記について

1.3.1. コマンド入力例

本書に記載されているコマンドの入力例は、表示されているプロンプトによって、 それぞれに対応した実行環境を想定して書かれています。 「 / 」の部分はカレントディレクトリによって異なります。 各ユーザのホームディレクトリは「 ~ 」で表します。

表1.1 表示プロンプトと実行環境の関係

プロンプト コマンドの実行環境

[PC /]#

作業用PC(Linux)の root ユーザで実行

[PC /]$

作業用PC(Linux)の一般ユーザで実行

[ATDE /]#

ATDE上の root ユーザで実行

[ATDE /]$

ATDE上の一般ユーザで実行

[armadillo /]#

Armadillo上 Linuxの root ユーザで実行

[armadillo /]$

Armadillo上 Linuxの一般ユーザで実行

Armadillo上 U-Bootの保守モードで実行


コマンド中で、変更の可能性のあるものや、環境により異なるものに関しては以下のように表記します。適宜読み替えて入力してください。

表1.2 コマンド入力例での省略表記

表記 説明

[version]

ファイルのバージョン番号


1.3.2. アイコン

本書では以下のようにアイコンを使用しています。

[警告]

注意事項を記載します。

[ティップ]

役に立つ情報を記載します。

[注記]

用語の説明や補足的な説明を記載します。

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

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

1.5. 困った時は

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

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

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

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

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

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

1.6. お問い合わせ先

本書に関するご意見やご質問は、Armadilloフォーラム[4]にご連絡ください。

1.7. 商標

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

1.8. ライセンス

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

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

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


1.9. 謝辞

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