- 公開日:2019年10月24日
- | 更新日:2024年03月14日
基礎中の基礎!マイコンにおけるプログラミングについて!
- ライター:umamiti
- マイコン
本記事ではマイコンが何かは知っているけど、マイコンにおけるプログラミングって何?という疑問を持った方や、どうやってプログラミングを行うの?という疑問を持った方に向けて、マイコンにおけるプログラミングの役割、開発工程、開発ツールについてご紹介していきます。
マイコンという単語を知らない方は、まずこちらの記事を御覧ください。
プログラミングの役割
そもそも「プログラミング」とは英語で書くと”program(=計画する、予定表)”に”-ing”をつけた、”Programing”です。つまり、「計画していること」もしくは、予定表に書いく「これからやること」です。
つまり、プログラミングでは、「マイコンがこれからやること」を計画していく作業です。そして完成したプログラムは「ソフトウェア」とも呼びます。
「これからやること」を書いていくわけですが、基本的には「命令形式」で書いていきます。このときマイコンはとても律儀なので、「言われた通りの命令」を伝えると、「言われた通り」に実行してくれます。また、命令を順番に書いていくわけですが、この順番もきっちりと守ってくれます。
このような命令をプログラミング言語といった言語を使って様々な命令を記述していきます。プログラミング言語には様々な種類があり、はっきり言って直感的にわかりにくいものです。しかし、“言語”ということは勉強することで理解することが出来ます。難しく考えずに、英語や中国語などのように、言語を学ぶことと大きく変わりません。その中でも、特にC言語はマイコンの開発者がよく使うプログラミング言語となります。
※プログラミング言語の例:C、C++、JAVAなど
マイコンの開発工程
プログラミングが何かはご理解いただけましたか?では実際に、どうやってマイコンに実装していくかについて説明させていただきます。マイコンの開発する工程は要約すると下図のようになります。
プログラミング
先述のとおり、プログラミング言語を使って、命令をたくさん書いていきます。このことを”プログラミングといいます。プログラミングのやり方は千差万別で、人それぞれですが、私の体験としては、フローチャートをきれいに作るとうまくいきます。フローチャートに書いてある命令を、自分が使うプログラミング言語で表現していくと、スムーズに作ることができると思います。フローチャートは設計図や下書きのように、下準備みたいなものです。
コンパイル
さて、「プログラム=マイコンの予定表」が完成しました。しかし、こちらのソフトウェアはプログラミング言語で記述していますので、マイコンが理解できる言語ではありません。ややこしいですが、マイコンにはマイコンが使う機械語という言語があります。映画やアニメでよくみる0と1で表現されたやつです。私達の世界でも英語や日本語のように言語が違うと、正確な会話が出来ませんよね?現実世界と同じく、マイコンに対して翻訳機を使う必要があります。翻訳機のことを「コンパイラ」と呼びます。
そして翻訳機に通したものの、「言語の使い方が正しくありません」と怒られてしまうことがあります。某サイトの翻訳を使ったことがある人はわかると思いますが、正しい構文や言葉遣いを使わないと、正しい翻訳が出来ないのと同じです。そもそも、機械語を理解していれば、最初から機械語で記述することも出来ます。
書き込み
正しい言語で記述した命令の翻訳が完了すると、マイコンが記述した命令を理解することが出来ます。次に、翻訳した命令をマイコンに書き込んで記憶させる必要があります。マイコンにはデータを保存するメモリと呼ばれる領域があります。この保存領域に作り上げたソフトウェアを保存することで、マイコンは一人で命令に従った行動を取ることが出来ます。
テスト
そして、最後にマイコンに保存した命令が正しいか確認していきます。正しい命令であれば、予想通りの行動を取りますが、予想と違う動きをすることがあります。
そこで「予想と違う!!故障だ!!」と熱くなってはいけません。マイコンは「言われた通りの命令」を実行しています。落ち着いてプログラムを見直して、正しく予想通りの動きを取るまで、地道にプログラム=予定表を修正しましょう。この工程を「デバック」と呼びます。
このように、プログラミング言語で命令を記述する→マイコンが理解できる言語に翻訳する→翻訳したソフトウェアをマイコンに保存することで、マイコンはさまざまな機能を実現することが出来ます。
ソフトウェアの開発ツール
さて、マイコンを開発する工程がイメージ出来たと思います。そこで、プログラミングをするツールや翻訳機(コンパイラ)、マイコンにソフトウェアを保存させるための道具が必要になることがわかりますね??マイコンを開発する上で必要になる道具は大きく分けて下図の3つです。
- 統合開発環境(がインストールされたPC)
- ターゲットボード
- 書き込みツール
の3つのツールが必要になり、PCなどで作成したソフトウェアを、外部のマイコンに対して保存する手法を「クロス開発」といいます。
1.統合開発環境
統合開発環境とは、マイコン開発のソフトウェア開発におけるの部分をまるっと担ってくれる、超便利なツールです!!このツールを使うことで、プログラミング言語を書くのが楽になる便利な機能が沢山備わっています。そして、同時にコンパイル機能も備わっており、間違った言語の使い方をしていた場合、注意してくれます!!
2.ターゲットボード
ターゲットボードとは「今回ソフトウェアを保存する目標のマイコン」が搭載された基盤になります。マイコンに合わせた基盤になっているので、マイコンの種類によって様々な種類があります。
3.書き込みツール
書き込みツールはマイコンが搭載されているターゲットボードと、統合開発環境がインストールされているPCをつなぐものです。これによって、ソフトウェアをマイコンに保存することが出来ます。さらに、保存したソフトウェアの動作を確認する際に、プログラムの動きを一時停止したり、一つ前の順番の命令を実行したりすることができ、デバックする際に便利なツールです。
まとめ
今回の記事では、
- ソフトウェアの役割
- ソフトウェアの開発工程
- ソフトウェアの開発ツール
についてご説明しました。これであなたはマイコンの開発が行える??ところまであと一歩に来ています。
さてあなたはどんな命令をマイコンに伝えたいですか??途中で少し触れましたが、マイコンには様々な種類があります。マイコンによっては命令を実行出来ないものや、保存できる容量に制限があります。なので、自分の実現したい機能に合わせてマイコンを選定しましょう。
Texas Instruments社の製品をお探しの方は、メーカーページもぜひご覧ください。