組み込みも、はじめの一歩はHello world
2011年6月6日(月)
図3:ETロボコンでは、開発で必要となる一連の作業を体験できる |
新人たちの所属する永和システムマネジメントでは、2年目3年目と経験を積むにつれて、継続的なETロボコンへの参加を通して以下のような成長を期待しています。
年次 | チームでの役割 | 身に付けて欲しいスキル |
---|---|---|
3年目以降 | リーダー | リーダーシップ |
2年目以降 | メンバー | 問題解決 モデリング 組み込み初級 システムアーキテクチャ |
1年目以降 | メンバー | 問題解決 プログラミング 組み込み基礎 文章・プレゼンテーション |
組み込みソフトウェアって何だ?
- [吉田]研修では、Javaを使ってプログラミングを勉強しています。変数、配列、関数、クラス・・・といろいろと勉強しています。でも組み込みソフトウェアを作るのと、Javaでプログラミングするのでは何が違うのか分かりません。組み込みソフトウェアって何なんでしょう?
- [舟元]組み込みソフトウェアっていうのは車や電気製品、携帯電話など電子機器の中で動いているソフトウェアだよ。
- [吉田]へー。私の身の回りにあるものの中に組み込みソフトウェアってたくさんありそうですね!
- [舟元]そうだよー。テレビのリモコンだって、「ボタンが押されたら、赤外線を発信する」というソフトウェアが入っているだろうしね。
- [吉田]リモコンかぁ。ソフトウェアが入っているなんて考えたこともなかった。
- [舟元]あとは、センサーが接続されていて、自動的に動くものが多いのも組み込みソフトウェアの特徴かな。ETロボコンで使うロボットにも、触れたことに反応するタッチセンサ、光量を測定する光センサといったセンサや、指定した速度で回転させることができるモータといったアクチュエータが接続されているんだ。
図4:ロボットに繋がるセンサーとアクチュエータ |
- [吉田]センサーとアクチュエータかぁ。人間だと五感と手足みたいな感じですね。ところで、ロボットにはキーボードもディスプレイもないですけど、どうやってプログラミングするのですか??研修で教わったJavaなら、パソコンに繋ったキーボードでプログラミングして、結果はパソコンのディスプレイに表示されるけど。。。
- [舟元]そうそう。ETロボコンで使うロボットにはディスプレイはあるけどキーボードはないし、炊飯器や電子レンジなんかは、ディスプレイもキーボードもないよね。こういった組み込みソフトウェアの開発では、パソコン上でソフトウェアを開発して、実際の機械に転送して実行するんだよ。
パソコン上で実行されるソフトウェアは、プログラミング、コンパイル、実行の全てがパソコン上で行うことができます。
図5:パソコン用ソフトウェアのコンパイルと実行 |
これに対して組み込みソフトウェアは、プログラミングとコンパイルをパソコン上で行い、コンパイル結果の実行ファイルをロボットなど対象のハードウェアに転送して実行します。
図6:ロボット用ソフトウェアムのコンパイルと実行 |
- [吉田]なるほど、プログラミングはJavaと同じようにパソコンでできるのですね。
- [舟元]うん。ロボコンではJavaじゃなくて、CやC++っていうプログラミング言語を使うことになるけど、Javaが分かれば、殆ど同じだから大丈夫だよ。
- [吉田]C。。。C++。。。大丈夫かな。。。
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。