ターゲット
では、実際に本稿でターゲットのマイコンにどのCPUアーキテクチャを使うかの選定です。今回は学習目的なのでなんでも良さそうですが、次につながるようなアーキテクチャを選んでおけば、すぐに開発に取り掛かれるので便利です。
はっきり言って、市場に出ているマイコンの機能に大きな差はありませんので、機能以外の要素が選定基準になります。
機能以外でのマイコンの選定基準
価格
マイコンの単価が安いに越したことありません。しかし、ラインで大量生産するわけではないので、数十円~数百円の差は、今回の場合はそれほど問題でありません。
マイコンの単価の違いは、同一性能であれば概ねこの範囲に納まります。
入手性
色々な人に使ってもらうのなら、すぐに手に入るマイコンが好ましいのは論を待ちません。最近では、店頭で入手できなくても(インターネット)通販で簡単に入手できるようになって来ました。
将来性
ここで学んだ技術が将来的に使えるのであれば、技術資産になり価値のあることです。そうなるとデファクトスタンダードを選ぶのが合理的です。
開発のしやすさ
マイコン単体が安くてターゲットが安く作れたとしても、それの開発環境の入手にコストがかかってしまっては本末転倒です。
フリーあるいは安く開発機器が揃えられるのであれば、それに越したことはありません。マルチプラットフォームであれば、自分が普段使っている環境がそのまま開発環境にもなります。
ARM
これまで述べたさまざまな条件を検討して、 筆者はARMマイコンを選択しました。 消去法ではなく、上記を満たす積極的な理由からです。
昨今の組込みシステムで最も多く使われている CPUは、携帯電話と任天堂DSの普及を考えると、ARMアーキテクチャベースのものです。この流れは暫くは続きそうなので、ARMの勉強は今後のことを考えると理に適いそうです。
ARM とは、英国のARM社がライセンスしているCPUの設計情報("IP"と呼ばれます)のことを指しています。ARM社が出しているARMチップそのものはありません。半導体会社がその他の周辺機器(ペリフェラル)を組み込んで、チップとして販売しているのです。
本稿で「ARM」といった場合は、ARM IPをベースに半導体各社が作ったチップそのものを指すことにします。ARMを使ってボードを起こすとなるとそれなりに大変ですので、適当なボードを探して利用します。日本でも数社がARMを搭載したボードを取り扱っています。
開発環境を整える
本来であれば、ターゲットを設定してから各種のツールを用意していきます。しかし、今回のような学習プロジェクトは個人で行う場合が多いと思います。筆者の手許で稼動実績のあるシステムでも、他のシステムと同様に特定の環境で動作しない可能性もあります。その特定の環境が皆さんのうちの誰かかもしれません。そこで保険の意味で本来とは逆の開発環境構築手順をとります。
平たくいうと、お財布を直撃するターゲットの導入(マイコンボードなどのハードウェアの購入)は後回しにして、クロスコンパイラなど、フリーウェアやオープンソースなどのインターネットでフリーで入手できるソフトウェアを先に導入します。クロスコンパイラやデバッガが用意できない組込みソフトウェア開発はナンセンスだからです。開発ソフトが導入できたら、ハードウェアの購入を始めるようにすれば無駄がないと思います。
まとめ
次回は、ホスト側のインストールなど、具体的な環境構築の説明に入りたいと思います。
最終的にターゲットにする、基板やパーツ類の紹介もありますので、どうぞご期待ください。
参考資料
Eclipseインストール手順
