(toppers-users 2007) Re: ITRON4 Std Prof と C++

高木信尚 takagi-n @ biggie.jp
2005年 6月 8日 (水) 14:51:06 JST


酔漢さん、こんにちは。 

> C++を使うといろいろな機能をカプセル化できるのが便利です。ところがタスク
> 間の同期などをC++のクラスで使おうとすると、スタンダード・プロファイルで
> はセマフォなどを動的に生成できないため活用できません。結局よく出来たC言
> 語として使うことになります。

排他制御にセマフォを使うだけであれば、1本のセマフォを(入れ子を可能にする
工夫をした上で)使いまわすだけでも十分です。それで問題があるような用途で
あれば、そもそもクラスの実装をブラックボックスにすることができません。
カーネルオブジェクト一般となると、難儀なもの(タスクなど)が多いですね。

> 「スタンダード・プロファイルとはそういうもの」と言ってしまえばそれまでで
> すが、プロセッサの能力が上がってきているのにもったいないなと感じます。
> FI4を見てみようかな。

FI4でも、少なくとも必要となるカーネルオブジェクトの個数は指定しないといけない
ので、それが可能であれば、多くの場合は静的に生成したカーネルオブジェクトを
プールしておくだけでも済むような気がしますが、いかがでしょうか?

カーネルオブジェクトだけでなく、単なる動的なメモリ割付けでも、組み込みでは
安直にグローバルnewするのは避けたい場合が多いと思います。それができる
ぐらいなら、Cでも気楽にmallocできるはずですから。
その辺りも含めて、PC等の環境で培ったノウハウをそのまま持ってくるのは難し
そうです。
# Pimpleイディオムすら躊躇せざるを得ないのは何とも厳しいですね。

-------------
高木信尚