メディア

第2回 「これだけあればマイコンが動く」宮崎 仁のマイコン基礎の基礎

» 2012年11月26日 00時00分 公開
[PR/EDN Japan]
PR

ハードウェアとソフトウェア

 マイコンなどのコンピュータは、電子回路やメカ部品などの具体物で構成されるハードウェアと、プログラムやデータなどの情報であるソフトウェアから成り立っています。実際に動いたり目に見える仕事をしたりするのはハードウェアですが、ハードウェアにどのような仕事をさせるかを決めるのはソフトウェアです。ハードウェアがあっても、ソフトウェアがなければ何もできません。もちろん、ソフトウェアだけでも何もできません。

 たとえてみれば、ハードウェアはこぎ方を知らないこぎ手がたくさん乗った船です。ソフトウェアは、こぎ手にこぎ方を教える教え手です。こぎ手は本当に何も知らないので、教え手は「拳を低くして」「腕を前に伸ばして」「拳を高くして」「腕を後ろに引いて」というように、一つずつ指示し続けなければなりません。この指示をゆっくり繰り返せば船はゆっくり進み、速く繰り返せば船は速く進みます。逆の順番で繰り返せば船は後ろに進み、片側のこぎ手だけに指示を出せば船は曲がります。

 もっとも、このような細かい指示を出すソフトウェアを一つ一つ書くのはとても大変です。そこで、人間がソフトウェアを書くときは、高級言語を使っておおざっぱな指示で書けるようになっています。しかし、高級言語で書いたソフトウェアも、最終的にはこのような細かい指示(機械語)に変換されてハードウェアを動かしているのです。

 このように、ハードウェアとソフトウェアを分業させることによって、単純なハードウェアにいろいろな仕事をさせることができます。仕事に応じて新しいハードウェアを作るのは大変ですが、ソフトウェアは簡単に作り変えることができます。

 ハードウェア設計には電気、論理回路、LSI設計などの知識と経験が必要です。ソフトウェア設計では、プログラミング言語の知識があればなんとかなります。コンピュータが普及するとともに、多数のソフトウェア技術者が育成されるようになりました。

マイコンボード

 マイコンを動かすにはハードウェアとソフトウェアが必要です。パソコンなら、ハードウェア(パソコン本体や周辺機器)もソフトウェア(OSやアプリケーション・ソフト)もいろいろ販売されていて、買ってくればそのまま使えます。マイコンの場合、ハードウェアはとりあえず市販のマイコンボードを購入できますが、ソフトウェアは自分で作る必要があります。

図1-A(左) 『超』低価格のマイコンボードの例、図1-B(右) MSP430ローンチパッド(TI)
図1-Aは、TIのeStore*1)で購入したMSP430ローンチパッドのパッケージ。クレジットカードを使えば簡単な手続きで購入可能。今回は数日で実際のローンチパッドが届いた。図1-Bは、$4.3の『超』低価格でTIから購入できる入門用キット。タッチセンサボードなどの拡張ボード(ブースターパック)も別売で入手可能。

*1)TIのeStoreへのアクセスはこちらから

 マイコンは、さまざまな情報機器、家電機器、産業機器などの機器に組み込まれて使用されます。それらの機器を製品開発する場合は、最終的にはそれに合わせたハードウェア(マイコンボード)を設計・製造します。しかし、開発の初期段階では簡単なマイコンボードを使ってソフトウェアの開発や評価を行うことも多く、そのために基本的な機能をもつ評価用マイコンボードがいろいろ提供されています。

図1-C eZ430(TI)
USBメモリ型のパッケージに収められた超小型開発キット。$20で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など)、通信機能などを備えていますが、搭載されている機能はボードによって異なります。

ソフトウェア開発環境

 マイコンを動かすためのソフトウェアは自分で作る必要があります。マイコンチップメーカや開発ツールメーカは、そのために必要なコンパイラ、ダウンロード・ケーブル、デバッガなどで構成される開発ツールを提供しています。

図2 デバッグを含めたプログラム開発手順

マイコンのソフトウェア開発手順は、おおざっぱには次の5ステップからなります。

  1. 仕様設計:そもそもマイコンに何をやらせたいかを考えて、手順を決める。
  2. コーディング:プログラミング言語でプログラム(ソースコード)を書く。
  3. コンパイル(アセンブル):人間が書いたプログラム(ソースコード)を、ハードウェアが理解できる指示(機械語)に変換する。
  4. ダウンロード:プログラム(機械語)をマイコンボードに書き込む。
  5. 実行:マイコンボード上でプログラム(機械語)を実行する。

 人間が書いたプログラムにはさまざまな誤りが含まれているのが普通です。プログラミング言語の文法的な誤りはコンパイル(アセンブル)で検出できますが、文法が正しくてもその動作がやらせたいことと違っている場合も少なくありません。そのため、実際の開発では、プログラムを試験的に実行して意図通りの動作になっていない部分を検出し、修正して実行するというデバッグ作業の繰り返しになります。この、デバッグ作業(テスト実行と修正)を効率良く行うためのツールがデバッガです。

 コーディング、コンパイル、ダウンロード、デバッグなどの作業は、現在はほぼパソコンで実行できます。

図3 ソフトウェア開発環境
コーディング用のエディタ、コンパイラ、デバッガなどは、一般にパソコン上のアプリケーション・ソフトとして提供される。これらをひとつのソフトとして利用できる統合開発環境(IDE)も提供されている。低価格のマイコンボード(開発キット)では、無償版の統合開発環境(IDE)が添付されていることが多い。ダウンロード・ケーブルはマイコンボードをパソコンに接続する。シリアル接続、パラレル接続、USB接続などがある。最近のマイコンボードでは、汎用のUSBケーブルを使用できるものもある。

※MSP430はTexas Instruments Incorporatedの商標です。その他すべての商標および登録商標はそれぞれの所有者に帰属します。

TIのマイコン製品の詳細はこちら

宮崎 仁のマイコン基礎の基礎 第3回 「命令を知ればマイコンが分かる」は、12/25(火)の公開を予定しています。


Copyright © ITmedia, Inc. All Rights Reserved.


提供:日本テキサス・インスツルメンツ株式会社
アイティメディア営業企画/制作:EDN Japan 編集部/掲載内容有効期限:2013年3月31日

設計に役立つヒント集

宮崎 仁のQ&Aでよく分かるマイコン基礎の基礎:
第24回 割り込みっていろいろあるのですか?どんな種類があるか教えてください。

今回は、外部割り込み、内部割り込み、ソフトウェア割り込みについて詳しく解説しています
全文を読む


電源IC選択のヒント集
電源IC 使用時の注意点をわかりやすく説明しているほか、使用時に発生する可能性のあるさまざまなトラブルとその対処法についても紹介しています。ぜひご利用ください。ダウンロードには myTI アカウントが必要です。
Part 1をダウンロード
Part 2をダウンロード


アナログ回路設計式一覧ポケット・ガイド
日本語版 PDF

英語版で高い評価を受けてきたポケット・ガイドの日本語版が完成しました。基板レベルやシステム・レベルの回路設計でよく使われるアナログ設計式を紹介しています。ダウンロードには myTI アカウントが必要です。
ダウンロード



facebook & twitter

製品情報、セミナーや展示会などのイベント情報をお知らせしています。

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.