[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(toppers-users 3452) Re: cfgの--external-id 引数
- To: users at toppers jp
- From: Hiroaki TAKADA <hiro at ertl jp>
- Date: Thu, 05 May 2011 09:44:22 +0900
酔漢さま
1)については高木さんから回答のあった通り、意図した振る舞いです。
2)についてですが、ターゲット依存部(Makefile.target)は、あくまでその
ターゲットハードウェアに対応するための記述であるべきで、--external_id
のようにアプリケーション依存でつけるオプションについては、Makefile を
編集して対応するのが想定した使い方です。
ただ、どうしても Makefile.target で対応したい、ということであれば、
CFG_TABS を使えないでしょうか?
高田広章
名古屋大学
(11/05/04 17:32), suikan wrote:
> こんにちは
>
> TOPPERS/ASPのLPC1768向け野良カーネルを実装している酔漢です。
>
> cfgの --external-id 引数の効果について教えてください。
>
> 1) extern宣言を生成しない理由は?
> たとえばコンフィギュレーションファイルでCRE_SEMを使ってSEM_I2C0_SIGNALと
> いうセマフォを作るとします。
>
> --external-id 無しの場合には、kernel_cfg.h に
>
> #define SEM_I2C0_SIGNAL 1
>
> のようなマクロ宣言が生成されます。これに対して --external-id ありの場合
> には上記宣言に加えて kernel_cfg.cに
>
> cons ID SEM_I2C0_SIGNAL_id = 1
>
> のような変数が定義されます。ここまではいいのですが、この場合
> kernel_cfg.h に
>
> extern const ID SEM_I2C0_SIGNAL_id;
>
> が追加されないのはなぜでしょうか。単なる見落としであれば次回リリース時に
> は生成をお願いします。また、わざと生成しない場合にはその理由をお 教えい
> ただければ幸いです。
>
> 個人的には、kernel_cfg.cで
>
> cons ID SEM_I2C0_SIGNAL = 1
>
> として、kernel_cfg.hで
>
> extern const ID SEM_I2C0_SIGNAL;
>
> としてもらえればそれでOKですし、その方が安全だと思っていますがそうなって
> いません。この辺も理解に苦しむところではあります。オブジェク ト・サイズ
> に対する要求が厳しい場面が多いのは分かるのですが。
>
> 2) ターゲット依存部から指定できるようにしてほしい
>
> --external_id を始めとするcfgのオプションを利用するには、Makefileを変更
> するしかありません。次期リリース時にはこれを Makefile.target から利用で
> きるよう検討願います。configureスクリプトには代替えMakefile指定機能があ
> りますが、正直、たかが引数の変更でそこまでやる のは敷居が高すぎますし、
> ターゲット非依存部のアップデート毎のメンテナンス・コストが上がってしまい
> ます。
>
> 以上、よろしくお願いします。
>
> 酔漢
>