(toppers-users 3116) Re: cq_starmのCFGについて

高木信尚 takagi-n @ biggie.jp
2010年 3月 27日 (土) 18:59:41 JST


コンフィギュレータ担当の高木です。

1.はどなたか別の方にお願いするとして、2.と3.だけ。

> 2.
>  cfgはarch\arm_m_gcc\prc.tfで作成されると杉本さんのメールに書かれていました。cfgとprc.tfはどんな関係にあるのでしょうか。
>  又、prc.tfの記述を理解すには何を見ればよいのでしょうか。言語仕様(?)や変数の割り当法について書かれたものはあるのでしょうか。

cfgと*.tfの関係は「TOPPERS新世代カーネル用コンフィギュレータ仕様」を参照してください。
*.tfの記法については「TOPPERS新世代カーネル用コンフィギュレータ内蔵マクロプロセッサ仕様書」を
参照してください。

http://www.toppers.jp/documents.html#new-cfg

上記は記法の解説だけですので、書かれている内容については、ターゲットごとのドキュメント、および
半導体メーカーのマニュアル等を参照してください。

> 3.
>  kernel_cfg.cはTOPPERSカーネルの初期化処理と深くかかわっています。各変数や関数について説明したものは無いのでしょうか。

割り込みやCPU例外等に関する部分は、カーネルの doc/porting.txt およびdoc/configurator.txt を
参照してください。
その他は、kernel ディレクトリ内の各Cソースおよび kernel.tf を読み解く必要があります。

いずれも「TOPPERS新世代カーネル統合仕様書」を通読&理解していることが前提です。

以上、よろしくお願いいたします。

---
高木信尚


2010年3月27日18:33 koizumi yoshiyuki <koizumiyoshiyuki @ gmail.com>:
>  koisanです。
>
>  TOPPERS/ASP cq_starmのUARTを#1から#2に変えて実機では動作しています。target\cq_starm_gccのtarget_config.c、target_serial.c、target_serial.h、target_syssvc.hを修正しました。cfgの使い方が良く解からないので、割り込みベクタの修正はkernel_cfg.cのexc_tblとbitpat_cfgintを直接書き換えて進めて来ました。
>
>  動作したことで、問題が整理されてきました。疑問が3点あります。
>
> 1.
>  この状態で、新たにディレクトリ作成からsample1を作り直せば、kernel_cfg.cはUART#2用のものが作成されると思っていますが、UART割り込みは#1(53)のままで#2(54)にはなりません。kernel_cfg.cのUART割り込み番号は、target\cq_starm_gcc\target_serial.cfgのCFG_INT(INTNO_SIO,
> { TA_ENAINT|INTATR_SIO, INTPRI_SIO
> });のINTNO_SIOで指定され、cgfにてkernel_cfg.cに反映されると思っています。INTNO_SIOは
> cq_starm_gcc\target_serial.h(58): #define INTNO_SIO  IRQ_VECTOR_USART2
> cq_starm_gcc\cq_starm.h(75): #define IRQ_VECTOR_USART2  (16 + 38)
> で定義しています。小生の早とちりでしょうか。
>
> 2.
>  cfgはarch\arm_m_gcc\prc.tfで作成されると杉本さんのメールに書かれていました。cfgとprc.tfはどんな関係にあるのでしょうか。
>  又、prc.tfの記述を理解すには何を見ればよいのでしょうか。言語仕様(?)や変数の割り当法について書かれたものはあるのでしょうか。
>
> 3.
>  kernel_cfg.cはTOPPERSカーネルの初期化処理と深くかかわっています。各変数や関数について説明したものは無いのでしょうか。
>
>  IDE等便利な環境が流行のこの頃ですが、ブラックボックスの処理使って作業を進めるのは気持ちが悪いものです。少なくとも論理的なつながりくらいは把握していないと、問題が発生したとき解析の基準が無くなってしまいます。
>
>  よろしくお願いします。
>
> 以上
>