(toppers-users 2266) Re: TNUM_SIOPとTNUM_PORTの違いは?

Imai Kazuhiko kimai @ mit.pref.miyagi.jp
2006年 1月 23日 (月) 09:48:40 JST


酔漢さん

> doc/config.txt によるとTOPPERS/JSPが対応するポートの数は
> TNUM_PORTを使うことになっています。しかし、たとえば pdic/
> simple_sio/st16c2550.cではTNUM_SIOPを参照しています。そし
> て、config/m68kなどいくつかの実装でTNUM_SIOPとTNUM_PORTの
> 両方を宣言しています。そしてコメントを読む限り両者は同じに
> 見えます。

システムに複数のシリアルデバイスがある場合、
 ・シリアルデバイス1:TNUM_SIOP1チャネル
 ・シリアルデバイス2:TNUM_SIOP2チャネル
全部で
 TNUM_PORT = TNUM_SIOP1+TNUM_SIOP2
となります。(全部、カーネルの管理下におく場合)

ITRONデバイス設計ガイドラインの用語で言い換えると
 ・TNUM_PORTはGDICレベル
 ・TNUM_SIOPはPDICレベル
のポート数を表しています。
pdic/simple_sioディレクトリ以下はPDICとして(特定のボードに
依存しないように)書かれているので、TNUM_SIOPを参照すること
になります。

#よくよく考えるとTNUM_SIOP_(デバイス名)にしておかないと
 名前がバッティングしますね。


TNUM_PORTは上位のserial.c(=GDICレベル)で必須にしているので、
doc/config.txtに記載がありますが、TNUM_SIOPはオプション扱いで
記載がないのだと思います。

#FAQに追加しておきます。



宮城県産業技術総合センター
今井和彦
E-mail kimai @ mit.pref.miyagi.jp