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

Meika Sugimoto asuka.choronos @ gmail.com
2011年 2月 8日 (火) 23:12:24 JST


酔漢さん

杉本です.

正確なところは分からないのですが,私の認識を
書くことにします.

> 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/
> 


-- 
--------------------------
Meika Sugimoto
mail:asuka.choronos @ gmail.com