2015/06/20

[tech]ドライバ以上、ミドルウェア以下

組込みだけかもしれないが、ドライバから見ると「おまえアプリだろう」で、アプリからすると「おまえドライバだろう」みたいな立ち位置の部分がある。
一般的には「ミドルウェア」と呼ぶ気がする。

image

レジスタをたたくようなところはドライバでよいだろうし、機能を動かすならアプリでよいだろう。
じゃあミドルってどうよ?と思う。
私のイメージだと、ドライバが提供するものをアプリが使いやすいように加工する階層なんだけど、どちらかといえばアプリ寄りで、かつおしゃれな感じがしている。

たとえば「ファイルシステム」とか。
ファイルシステムがおしゃれかって言われると困るのだが、ドライバをよく作る立場からするとなんとなくおしゃれ感がある。
たぶん「データベース」なんかもそうだ。
中で何やってるのかわからないけど、とりあえずインターフェースを提供してくれるという秘匿な感じをおしゃれと思ってしまうのかもしれない。

まあ、私のおしゃれ感はどうでもよいとして。
そういうものよりも、もうちょっと地面に近い階層があると思う。
たとえば「LED制御」とか。
LEDはGPIOと直結してて、PWMとかは抜きとして、ONとOFFだけなら1行で書けるくらいだ。
でも、アプリでそういうのを持ちたくないので、別関数にしてしまいたい。
「ドライバ」と分類してもよさそうな気はするのだが、GPIOのドライバがいたり、点滅でタイマを使ったりすることを考えると、ドライバよりも少し上の層の方がしっくりくる。
くるんだけど、ほどよい階層の名前が思いつかない。。。

image

ラッパー(wrapper)といえばラッパーだけど、純粋なラッパーでもないし。

そういえば、この辺ってOSがいる階層だな。
nRF51だとあまりOSを載せる気はないのだが、nRF52だと余裕があるから載せるかもしれない。
というわけで、OSとかフレームワークの層ということにしよう。

image

LEDがフレームワークかよ、と思われそうだが、よかろうなのだ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。