« プリント基板CAD比較 Eagle と Target 3001 | トップページ | Target 3001! のライブラリには2SC1815がある!! »

TOPPERS/JSP TINETのバージョンUp DEF_INH vector.Sではまる。

のほほんと開発していたらOSのバージョンが上がっていた。

最新バージョン(2006年7月26日現在)

http://www.toppers.jp/jsp-download.html JSP(TRONカーネル)は1.4.2(2005年12月28日)

http://www.toppers.jp/tinet-download.html TINET(TCP・IPスタック)は1.3.1(2006年7月13日)

JSPはともかく、TINETのほうはUpdateしたほうがよいような気がしたのでUpdateする。が、ここではまる。

JSP 1.4.2 での割り込み定義の変更(H8のみ)

vector.Sがうまくかけない!!

JSP1.4.1までは、cfgファイルに DEF_INH定義を書く以外にsys_supoort.Sに割り込みベクターを記述する必要があった。sys_support.Sはカーネルのディレクトリーツリーにあって気持ち悪かったが、今回からほかのCPUと同じように cfg ファイルに書くだけですむようになった。

しかし、これはうまく動かない(すくなくとも私の開発環境では)。

http://www.toppers.jp/TOPPERS-USERS/200603/msg00030.html
http://www.toppers.jp/TOPPERS-USERS/200603/msg00031.html

このあたりみるとどうも、Unix系の改行コードではVectorテーブルをcfgファイルから生成するところで問題が発生するらしい。

util/h8/filter2.pl:64

if ($line =~ s/^DEF_INH\(/\$vector_table\[/){

if ($line =~ s/DEF_INH\(/\$vector_table\[/) {

という変更らしいのだが、これではうまくいかなかった。結局、

while($line = <>) {
        if ($line =~ s/^DEF_INH\(/\$vector_table\[/) {
                $line =~ s/,{TA_HLNG,/\]="__kernel_/;
                $line =~ s/}\)/_entry"/g;
                $line =~ s/((ul)|(lu)|(u)|(l))\]/\]/i;
                chomp($line);
                printf "\t%s;\n\n", $line;
        }
}

こう変えたらうまくいった。どうもDEF_INHが予想では0x00uに置き換わるはずだけれども置き換わらずにそのままきてしまっているみたい。

なんか僕だけなのかなあ。それとも会員じゃないユーザがものすごくすくないのだろうか?半年前のリリースで、H8でLinuxというたぶんメジャーなプラットフォームでうまくいかないところが不安になってきた。

とおもったら、いつのまにかうまく動いてしまった。なぞだ。ともあれ、困ったときは, tmp_script.plをみるといい。これがPERLになっていればOK.

たぶん、.cfgファイルにシステムのcfgファイル timer.cfg, serial.cfg, logtask.cfgあたりを先頭で(DEF_INH)する前にインクルードするのがポイントなんだろうな。

さらに修正が必要

sys_support.Sの修正が不要になったかとおもえば、今度は、sys_config.hに割り込みレベルの設定をしなくてはいけないらしい。 xxxという割り込みに対し、xxx_intmaskを定義する。

#define timer_handler_intmask IPM_LEVEL1

みたいな塩梅らしい。うーむせっかくアプリケーションディレクトリだけ修正すればいいようになったかとおもったのにうまくいかないなあ。よくわかんないけれど、レベル2にしておいた。

うーむ

なんかうまくいっている気がしない、OS Updateだなあ。ま、これからデバックしてけばわかるだろ。

 

 

 

 

|

« プリント基板CAD比較 Eagle と Target 3001 | トップページ | Target 3001! のライブラリには2SC1815がある!! »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/48992/11111722

この記事へのトラックバック一覧です: TOPPERS/JSP TINETのバージョンUp DEF_INH vector.Sではまる。:

« プリント基板CAD比較 Eagle と Target 3001 | トップページ | Target 3001! のライブラリには2SC1815がある!! »