ハードウェアとソフトウェア
マイコンなどのコンピュータは、電子回路やメカ部品などの具体物で構成されるハードウェアと、プログラムやデータなどの情報であるソフトウェアから成り立っています。実際に動いたり目に見える仕事をしたりするのはハードウェアですが、ハードウェアにどのような仕事をさせるかを決めるのはソフトウェアです。ハードウェアがあっても、ソフトウェアがなければ何もできません。もちろん、ソフトウェアだけでも何もできません。
たとえてみれば、ハードウェアはこぎ方を知らないこぎ手がたくさん乗った船です。ソフトウェアは、こぎ手にこぎ方を教える教え手です。こぎ手は本当に何も知らないので、教え手は「拳を低くして」「腕を前に伸ばして」「拳を高くして」「腕を後ろに引いて」というように、一つずつ指示し続けなければなりません。この指示をゆっくり繰り返せば船はゆっくり進み、速く繰り返せば船は速く進みます。逆の順番で繰り返せば船は後ろに進み、片側のこぎ手だけに指示を出せば船は曲がります。
もっとも、このような細かい指示を出すソフトウェアを一つ一つ書くのはとても大変です。そこで、人間がソフトウェアを書くときは、高級言語を使っておおざっぱな指示で書けるようになっています。しかし、高級言語で書いたソフトウェアも、最終的にはこのような細かい指示(機械語)に変換されてハードウェアを動かしているのです。
このように、ハードウェアとソフトウェアを分業させることによって、単純なハードウェアにいろいろな仕事をさせることができます。仕事に応じて新しいハードウェアを作るのは大変ですが、ソフトウェアは簡単に作り変えることができます。
ハードウェア設計には電気、論理回路、LSI設計などの知識と経験が必要です。ソフトウェア設計では、プログラミング言語の知識があればなんとかなります。コンピュータが普及するとともに、多数のソフトウェア技術者が育成されるようになりました。
マイコンボード
マイコンを動かすにはハードウェアとソフトウェアが必要です。パソコンなら、ハードウェア(パソコン本体や周辺機器)もソフトウェア(OSやアプリケーション・ソフト)もいろいろ販売されていて、買ってくればそのまま使えます。マイコンの場合、ハードウェアはとりあえず市販のマイコンボードを購入できますが、ソフトウェアは自分で作る必要があります。
図1-Aは、TIのeStore*1)で購入したMSP430ローンチパッドのパッケージ。クレジットカードを使えば簡単な手続きで購入可能。今回は数日で実際のローンチパッドが届いた。図1-Bは、$4.3の『超』低価格でTIから購入できる入門用キット。タッチセンサボードなどの拡張ボード(ブースターパック)も別売で入手可能。
*1)TIのeStoreへのアクセスはこちらから
マイコンは、さまざまな情報機器、家電機器、産業機器などの機器に組み込まれて使用されます。それらの機器を製品開発する場合は、最終的にはそれに合わせたハードウェア(マイコンボード)を設計・製造します。しかし、開発の初期段階では簡単なマイコンボードを使ってソフトウェアの開発や評価を行うことも多く、そのために基本的な機能をもつ評価用マイコンボードがいろいろ提供されています。
評価用マイコンボード(評価ボード)には、マイコンチップメーカが提供するもの、開発ツールメーカが提供するもの、電子部品販売店が販売しているもの、書籍や雑誌の付録になっているものなどがあります。ボード単体での販売もありますが、ソフトウェア開発ツールなどをまとめてオールインワンの開発キットになっているものもあります。本格的な開発システムは何万円〜何十万円するものもありますが、簡単な評価ボードや入門用キットなら何千円程度やそれ以下で入手できるものがいくつもあります。
図1-D 『超』低消費電力マイコンMSP430基板2枚組み[CD-R付き](CQ出版)
雑誌(トランジスタ技術2007年1月号)の付録として作られた2枚組の基板に、開発ツールや解説記事を収めたCD-Rが付属。2100円で販売中。
たとえば、テキサス・インスツルメンツ(TI)の16ビットマイコンのMSP430™ファミリの場合、メーカ(TI)ではMSP430ローンチパッド、eZ430などの安価な入門用キットを低価格で提供しています。また、タッチセンサボードなどの拡張ボード(ブースターパック)もウェブから入手可能です。また、雑誌(トランジスタ技術2007年1月号)の付録として作られたMSP430基板は、現在でもCQ出版のウェブから入手可能です。
これらの評価ボードは、マイコンチップと簡単な入出力機能(押しボタンスイッチ、表示用LEDなど)、通信機能などを備えていますが、搭載されている機能はボードによって異なります。
ソフトウェア開発環境
マイコンを動かすためのソフトウェアは自分で作る必要があります。マイコンチップメーカや開発ツールメーカは、そのために必要なコンパイラ、ダウンロード・ケーブル、デバッガなどで構成される開発ツールを提供しています。
マイコンのソフトウェア開発手順は、おおざっぱには次の5ステップからなります。
- 仕様設計:そもそもマイコンに何をやらせたいかを考えて、手順を決める。
- コーディング:プログラミング言語でプログラム(ソースコード)を書く。
- コンパイル(アセンブル):人間が書いたプログラム(ソースコード)を、ハードウェアが理解できる指示(機械語)に変換する。
- ダウンロード:プログラム(機械語)をマイコンボードに書き込む。
- 実行:マイコンボード上でプログラム(機械語)を実行する。
人間が書いたプログラムにはさまざまな誤りが含まれているのが普通です。プログラミング言語の文法的な誤りはコンパイル(アセンブル)で検出できますが、文法が正しくてもその動作がやらせたいことと違っている場合も少なくありません。そのため、実際の開発では、プログラムを試験的に実行して意図通りの動作になっていない部分を検出し、修正して実行するというデバッグ作業の繰り返しになります。この、デバッグ作業(テスト実行と修正)を効率良く行うためのツールがデバッガです。
コーディング、コンパイル、ダウンロード、デバッグなどの作業は、現在はほぼパソコンで実行できます。
図3 ソフトウェア開発環境
コーディング用のエディタ、コンパイラ、デバッガなどは、一般にパソコン上のアプリケーション・ソフトとして提供される。これらをひとつのソフトとして利用できる統合開発環境(IDE)も提供されている。低価格のマイコンボード(開発キット)では、無償版の統合開発環境(IDE)が添付されていることが多い。ダウンロード・ケーブルはマイコンボードをパソコンに接続する。シリアル接続、パラレル接続、USB接続などがある。最近のマイコンボードでは、汎用のUSBケーブルを使用できるものもある。
※MSP430はTexas Instruments Incorporatedの商標です。その他すべての商標および登録商標はそれぞれの所有者に帰属します。
TIのマイコン製品の詳細はこちら
宮崎 仁のマイコン基礎の基礎 第3回 「命令を知ればマイコンが分かる」は、12/25(火)の公開を予定しています。
提供:日本テキサス・インスツルメンツ株式会社
アイティメディア営業企画/制作:EDN Japan 編集部/掲載内容有効期限:2013年3月31日
Copyright © ITmedia, Inc. All Rights Reserved.