最近、組み込み関連の調べ物をしてて調べたり話しあったりするうちに、いろいろと自分なりの気づきが出てきたのでまとめとく。
組み込みというと PowerPC とか ARM に Linux を積んで作る、ってことに違和感があって社内の人と話してたところ自分なりの落とし所があった。
結論としては MMU があるかないか。
MMU 付きの環境でLinux を動かしたら、基本的にPC Linux で動かしたものをクロスコンパイルすれば(H/W依存部分以外は)動くので、組み込みというには違和感がある。
やっぱり、物理メモリ上でプログラムを動かすのが組み込みだよね。
これを書きながら、それを言ったらOS載せたら組み込みから外れてくる気がしてきた。
やっぱり組み込みを体感するならOSレスの環境かな。
- mainの前や後の動きを知ったり、
- 割り込み処理を重くして固まったり、
- タスクディスパッチの仕組みを知って感動したり、
- タスクスのタックオーバーフローで別タスクをぶっ壊したり、
- 引数にconstつけるとROMに書かれるとか言われたり、
プログラムを動かしてる実感がある組み込みって楽しいんだよね
#と、いいつつ、今年の目標は Java とスクリプト言語でアプリを作れるようにすることなんだけどねー(笑)