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

koizumi yoshiyuki koizumiyoshiyuki @ gmail.com
2010年 3月 31日 (水) 09:27:41 JST


小南さま

有難うございます。小生、UARTのポートの修正はオリジナルとは異なる手法をとりました。オリジナルはUART#2を使う場合はUART#1のバッファも確保しています。UARTを2台使用できるようにして、2台目を使用するようにしていますが、小生はメモリの制限を考慮しUARTはコンソールとしてしか使用しないので、一台のUARTのバッファとしています。ご指摘の#define
INTNO_SIO
IRQ_VECTOR_USART2は有効になっています。小生の考え方は間違ってはいないようなので、.tfファイルをいじって色々試しています。時間があれば、何処かにたどり着けると思っています。

追加の質問ですが、CFGのバージョン問題の話が出ていましたが、JSP用のcfgとASP用のcfgは同じものと考えてよいのでしょうか。ASP用のcfgをJSPで使用しても問題は無いか知りたいのです。Cortex-M3用のJSPを考えています。(簡単ではないとは思っています)

2010年3月29日21:56 yasuo kominami(nifty) <ykominami @ nifty.com>:

> 小南と申します。
>
> とりいそぎ、1についてのみ、気がついた点を書きます。
>
> 2010/3/27 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)
> > で定義しています。小生の早とちりでしょうか。
> >
>
> asp_cq_starm_gcc-20081003.tar.gzを展開して確認してみました。
>
> target_serial.hは、以下の順に読み込まれています。
>
>
> sample1.cfg->syssvc/syslog.cfg->syssvc/serial.cfg->target_serial.cfg->target_serial.h
>
> で、target_serial.hは以下のように定義されています。
>
> /*
>  *  SIOの割込みベクタ番号
>  */
> #if (SIO_PORTID == 1)
> #define INHNO_SIO               IRQ_VECTOR_USART1
> #define INTNO_SIO               IRQ_VECTOR_USART1
> #elif (SIO_PORID == 2)
> #define INHNO_SIO               IRQ_VECTOR_USART2
> #define INTNO_SIO               IRQ_VECTOR_USART2
> #endif
> #define INTPRI_SIO              -3                              /* 割込み優先度
> */
> #define INTATR_SIO              0                               /* 割込み属性 */
>
> ここに示されているように、マクロSIO_PORTIDの値により、マクロINTNO_SIOの値が変わります。
> そして、マクロSIO_PORTIDは、以下で定義されています。
> target/cq_starm_gcc/target_config.h
>
> メールではこれらに対して言及されていませんでした。
> このあたりが、kernel_cfg.cに意図された変更が反映されない原因かもしれません。
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://www.toppers.jp/pipermail/users/attachments/20100331/37ea7fc2/attachment.html>