2013.03.19 Tuesday
組み込みプログラマとしてのブレークスルー
こんにちは、菅原です。
私が組み込みプログラマとして一皮向けたと感じたのはマルチタスクOSを開発したときとなります。
マルチタスクという概念は、コンピュータが利用される当初からあったようですが、自分にとって、同時進行で複数のプログラムが動くというのが、感覚的に理解できませんでした。
マルチタスクを実現するには、
タスクごとにすべてのレジスタを保存できるようにしておいて、タスクが切り替わるときに、いままでのタスクのレジスタを間違いなく退避し、次に実行するタスクのレジスタに戻してあげればいいだけなんですね。
これがわかって、スタックの扱いやレジスタの扱い、割り込み時の動作をきちんと把握できるようになりました。
組み込みソフトウェアエンジニアとしては普通のソフトウェアのスキルの他にマシン語、割り込み、タイマを理解できていれば、まぁ一人前といえるのではないかと思いますが、マルチタスクOSが理解でき、使いこなせるということは、そういったスキルを身につけていると判断できると思います。
JUGEMテーマ:組み込み開発