これまで電子工作といえば、電気街で部品を買ってきて配線をしたり、PICマイコンなどで簡易なプログラムを作成するものでした。それが、現在ではRaspberry Piに代表されるようにARMマイコンを搭載した低価格な組込みLinuxボードが登場したことによって、ソフトウェアで複雑な制御が簡単にできるようになりました。
そこで本書では、これからARMマイコンで電子工作を始める方を対象に、組込みボードの選び方からプログラムの作成手順、さらに組込みLinuxのカーネル再構築やデバイスドライバの作成方法などをやさしく解説しています。
本書では、数あるARMマイコン搭載の組込みボードをどのように選択すればよいのかから始めて、次のような流れで解説しています。
組込みボードの導入
まず、OSの有無や搭載されているCPUなど、選定する際の要素や購入後の環境設定方法などを解説しています。
開発環境の構築
組込みLinuxの開発環境として、Linuxマシンの準備を行います。本書では、PC上に仮想環境を構築して、クロスコンパイラの方法を実際にプログラミングするところから解説しています。さらに「main関数の戻り値」「fileコマンドの出力内容」「ライブラリのリンク」など、知っておいたほうが困らない内容や組込みLinuxの万能コマンドであるBusyBoxのインストール方法にも触れます。
組込みボードの書き換え
続いて、ブートローダーやカーネル、ルートファイルシステムの書き換え方法について説明しています。通常、PC上でLinuxを操作する際には意識をすることがありませんが、ARMマイコンでの電子工作(組込みLinux)では自動アップデートをしないため、自ら書き換えをする必要があります。
組込みボードのI/Oの叩き方
システムコール/デバイスドライバと組込みボードのI/Oの関係を、簡単なプログラムを例にして解説しています。
本書でひととおりの基礎知識を押さえつつ、さらにご自身のアイデアで今ドキの電子工作を楽しんでください。
なお、本書では可能なかぎりあらゆる組込みボードにOS(特にLinux)が搭載されたときに必要となる技術要素を、日昇テクノロジー社のMINI2440(図1)を実際に試しながら解説しています。ただし、極力ボードに特化した部分(カーネルやルートファイルシステムの書き換えなどは除く)は避けて構成しており、利用したプログラムなど他のボードでも(マッピングされているアドレス値など)必要最小限の変更を行えば、そのまま使えるようにしています。
図1 ARM9を搭載したMINI2440