組み込みのプログラマーとそれ以外のプログラマーとは何がちがうのか?

このブログを書き始めて、いろいろ考えてみた結果、


「プログラムがmain( )から始まらない」


ということにしました。

このフレーズが一番わかりやすいかな?

と思ったからです。


結論として、

「プログラマがCPUのアドレス空間を意識する必要がある」

ということです。

(ただし、これは組み込み側からみた意見なので、

 一方的であることは否めないし、

 アドレス空間????なんて人も多いと思います)




ここから、解説です。


プログラムの授業ないし、研修では

C言語からはじめることが、あると思いますが、

たいてい以下のような、main()からはじまるプログラムを

例にして始めると思います。


void main()

{

printf( "Hello, world!");

return;

}


しかし、組み込みではここから始まりません。

では、どこからはじまるのか?


簡単にいうと、プログラマーが制御可能なところから

始まります。つまり、ハードウェアがプログラムで

制御可能なところからはじまります・・・・。

って、わかるわけないですよね。



なので、たとえをだします。


プログラミングをすることを、料理をすることにたとえると


料理をする場合、最初にどうしますか?


たとえば、カレーを作る場合どうしますか?

まず、材料がいりますよね?

カレーのルーは絶対いりますよね?

スーパーかどこかで買いますよね?


カレールーって買いますよね?


でも、カレールーってどうやって作るか知ってますか?

作れますか?


そう、そうなんです。

組み込みの場合は、カレーを作るときにカレー粉をつくる必要があるのです。

あとは、食材を買いに行こうと思ったら、

組み込み村には、スーパーがなくて八百屋もなくて、

畑から調達するために、スコップもって掘りにいったりします。


まあ、組み込み村って感じです。

あんまり変化しない生活(プログラム)を

おくるのが組み込みプログラマです。


とりあえず、今日はここまで!!