組み込みのプログラマーとそれ以外のプログラマーとは何がちがうのか?
このブログを書き始めて、いろいろ考えてみた結果、
「プログラムがmain( )から始まらない」
ということにしました。
このフレーズが一番わかりやすいかな?
と思ったからです。
結論として、
「プログラマがCPUのアドレス空間を意識する必要がある」
ということです。
(ただし、これは組み込み側からみた意見なので、
一方的であることは否めないし、
アドレス空間????なんて人も多いと思います)
ここから、解説です。
プログラムの授業ないし、研修では
C言語からはじめることが、あると思いますが、
たいてい以下のような、main()からはじまるプログラムを
例にして始めると思います。
void main()
{
printf( "Hello, world!");
return;
}
しかし、組み込みではここから始まりません。
では、どこからはじまるのか?
簡単にいうと、プログラマーが制御可能なところから
始まります。つまり、ハードウェアがプログラムで
制御可能なところからはじまります・・・・。
って、わかるわけないですよね。
なので、たとえをだします。
プログラミングをすることを、料理をすることにたとえると
料理をする場合、最初にどうしますか?
たとえば、カレーを作る場合どうしますか?
まず、材料がいりますよね?
カレーのルーは絶対いりますよね?
スーパーかどこかで買いますよね?
カレールーって買いますよね?
でも、カレールーってどうやって作るか知ってますか?
作れますか?
そう、そうなんです。
組み込みの場合は、カレーを作るときにカレー粉をつくる必要があるのです。
あとは、食材を買いに行こうと思ったら、
組み込み村には、スーパーがなくて八百屋もなくて、
畑から調達するために、スコップもって掘りにいったりします。
まあ、組み込み村って感じです。
あんまり変化しない生活(プログラム)を
おくるのが組み込みプログラマです。
とりあえず、今日はここまで!!