(toppers-users 4090) *.tf ファイルの改行コードと configurator

starfieldtrue starfieldtrue @ gmail.com
2013年 5月 29日 (水) 18:37:42 JST


星野と申します。

今回は configurator についてです。

改行コードが CR+LF の.tfファイルの場合は、windows環境でビルドした
cfg.exe を使う必要があるように見受けられますが、
この理解で正しいでしょうか。

2つのバージョンの cfg.exe で同じ結果でした。
$ ./cfg.exe -v
TOPPERS Kernel Configurator version 1.9.1
$ ./cfg.exe -v
TOPPERS Kernel Configurator version 1.7.0

といいますのも、改行コードが CR+LF の.tfファイルを
Cygwin環境でソースからビルドした cfg.exe を使って make depend すると、
下記のような余分な ^M コード(CR)が挿入されてしまいます。

kernel_cfg_asm.S の抜粋。

    ^M.align 2
^M__kernel_default_int_handler_entry_16:            /* 未登録割込み番号 */
    ^Mpushm r1-r5           /* スクラッチレジスタをタスクスタックへ退避 */
    ^Mmov.l #16, r1         /* 割込みハンドラ番号をr1へ  */
    ^Mbra.a __kernel_default_int_handler_entry
    ^M^M^M
    ^M.align 2
^M__kernel_default_int_handler_entry_^M
21:         /* 未登録割込み番号 */
    ^Mpushm r1-r5           /* スクラッチレジスタをタスクスタックへ退避 */
    ^Mmov.l #^M
21, r1          /* 割込みハンドラ番号をr1へ  */
    ^Mbra.a __kernel_default_int_handler_entry
    ^M^M^M


ラベルの末尾が尻切れになっている部分を見ると、
下記のファイルで先頭がスペース・タブの割り込み番号が
該当しています。

asp\arch\rx600_gcc\rx62n

以下抜粋

$INTNO_VALID = { 16;
                 21;
                 23;
                 27,28,...,32;
                 36,37,38;
                 40,41,42;
                 44,45,...,51;
                 56,57,...,60;

以上です。