(toppers-users 3400) Re: INTNO_XXXの利用について

Hiroaki TAKADA hiro @ ertl.jp
2011年 2月 9日 (水) 10:13:15 JST


酔漢さん、杉本さん

杉本さんの認識で合っています。

target_config.hをアプリ―ションからインクルードするのは避ける
べきです。ターゲット毎の定義ファイルについては、ポーティング
ガイドの6.1.1節(a)に記述してあります。

JSPカーネルでは、この辺が整理できていなかったのですが、ASPカー
ネルでは整理してあるはずです。

高田広章
名古屋大学

(11/02/08 23:12), Meika Sugimoto wrote:
> 酔漢さん
> 
> 杉本です.
> 
> 正確なところは分からないのですが,私の認識を
> 書くことにします.
> 
>> 1) INTNO_XXXは必須か
> 
> 必須でないものと考えてポーティングしています.
> その根拠ですが,INTNO_XXXはタイマ割り込み,シリアル割り込みなど
> 慣例的に使われてはいるものの,ターゲット依存部で自由に
> 命名することができるためです.
> 
> target_serial.cfgやtarget_timer.cfgで別の名前を
> 使ってもターゲット依存部に閉じているので影響はありません.
> 
> ということから必須でないと捉えています.
> 
>> 2) INTNO_XXXを利用する方法
> 
> target_config.hはカーネル実装のターゲット依存部という
> 位置付けなので,アプリケーションからインクルードするものでは
> ないと位置付けのファイルではないでしょうか.
> 
> そうすると割り込み番号などの情報を得るとすると
> ターゲット毎の定義ファイルになりそうです.
> m68kであればdve68k.hをインクルードすることになります.
> 
> アプリケーションからすると環境が変わるとインクルードする
> ファイルが変わることになりますが,そもそも割り込み関連は
> どうしても違いが出るので,しかたないのかなと思います.
> 
> 
> ちなみにアプリケーションからターゲットに依存せず割り込み操作を
> しようという意図でしょうか?
> その場合,直接ena_intやdis_intを使わずに,ドライバの方にI/Fを設けて
> 隠蔽するほうがお行儀としてはよさそうですね.
> ASPのタイマ,シリアルにそのような機能はありませんが…
> 
> 以上,よろしくお願いします.
> 
> 
> (2011/02/08 22:51), suikan wrote:
>> こんにちは。酔漢です。
>>
>> TOPPERS/ASPのLPC1768(CORTEX-M3)用非公式ターゲット依存部をメンテしてい
>> ます。
>> http://sourceforge.jp/projects/toppersasp4lpc/
>>
>> 表題の件について二つほど質問があります(カーネル非依存部1.6)。
>>
>> 1) INTNO_XXXは必須か
>> まず、INTNO_XXXの扱いですが、この定数はASPカーネルではターゲット依存部が
>> 用意しなくても良いのでしょうか。JSPカーネルの場 合、doc/config.xtにて
>> 「ena_int, dis_intを実装するときには」INTNO_XXXをユーザーアプリケーショ
>> ン用に用意すべきとなっています。しかし、ASPカーネルの場合はdoc 以下の文
>> 書にはそのような記述はありません。
>>
>>
>> INTNO_XXXはオプションなのでしょうか。アプリケーションやCFGファイルで使用
>> しますので、ターゲット依存部で必ず宣言するよう取り決 めていただく方が
>> ユーザーとしては助かります。調べたところ、CORTEX-M3のCQ-STARM依存部で
>> は、INTNO_XXXを宣言してい ません。
>>
>> 2) INTNO_XXXを利用する方法
>> m68k実装を見ると、INTNO_XXXはターゲット名と同じ名前のインクルードファイ
>> ル(dve68k.h)にて宣言されており、これを target_config.hがインクルードして
>> います。
>>
>> しかし、target_config.hは、kernel.h、sil.hいずれからもインクルードされて
>> いません。結局、ena_int()を アプリケーションで使おうとすると、m68k実装
>> (およびそれに倣った他の実装)では、引数でINTNO_XXXを使うためには
>> target_config.hを別に読み込まなければなりません。
>>
>> これはどうも、カーネル設計の意図するところではないような気がするのです
>> が、バグでしょうか。それとも、明示的に target_config.hを読み込んで使うと
>> 言うことでしょうか。
>>
>> 以上、どなたかお教えくださいますようお願いします。
>>
>> 酔漢
>>
>> --------------------------------------
>> Get the new Internet Explorer 8 optimized for Yahoo! JAPAN
>> http://pr.mail.yahoo.co.jp/ie8/
>>
> 
>