JSPプログラムをASPへ置き換える(コンフィギュレーションファイル編)
JSPで作ったプログラムをASPへ移行させることになったので、気になった作業をあげてみる。
ちなみにitron.hはインクルードしません。これをやるとほぼ無修正でいけると思うのですが、今回は教材プログラムだからJSPの痕を残すわけもいかないわけで。
ちなみに以下はASP1.3.1のコードを使っています。
_MACRO_ONLY -> TOPPERS_MACRO_ONLY への変更
JSPでは_MACRO_ONLYの定義はアプリケーションのコンフィギュレーションファイルで行なうのが流儀だったけど、ASPではインクルードファイルを使用したいアセンブラファイルのの先頭で定義をするように変更された。(porting.txt)
アプリケーション側はifndefのマクロ名称を変更する
インクルードディレクティブの記述の変更
INCLUDE("\"sample1.h\"");
は
#include "sample1.h"
へ。2つ記述していたのが1つで済みます。
ドライバ、システムコンフィギュレータのインクルードディレクティブの変更
JSPだと
#include "../systask/timer.cfg" #include "../systask/serial.cfg" #include "../systask/logtask.cfg"
な記述を
INCLUDE("target_timer.cfg"); INCLUDE("syssvc/syslog.cfg"); INCLUDE("syssvc/banner.cfg"); INCLUDE("syssvc/serial.cfg"); INCLUDE("syssvc/logtask.cfg");
へ変更。cfgの最後に書いていたけど、先頭で記述するようになる。
あとbannerが単独で記述できるようになったということは外す事を想定してかと。
静的API TA_HLNGの廃止
他にも静的APIで使用しないマクロがあります。
itron.hにobsoleteな定義が入っていますが、新規に書く場合は使用しないほうがよいので削除。
CRE_TSK(LED1_TASK, { TA_HLNG|TA_ACT, (VP_INT) 0, led1_task, DEFAULT_PRIORITY, STACK_SIZE, NULL });
は
CRE_TSK(LED1_TASK, { TA_ACT, 0, led1_task, DEFAULT_PRIORITY, STACK_SIZE, NULL });
にする
オブジェクト属性が0の場合はTA_NULLに変更する。