(toppers-users 4412) OSのカウンタオブジェクトに使用するハードウェアタイマの変更について。

hisae @ jp.tdk.com hisae @ jp.tdk.com
2015年 8月 17日 (月) 11:39:25 JST


各位

お世話になっております。

TDK株式会社の久江と申します。

現在、TOPPERS/ATK2のHSBRH850F1L(北斗電子)簡易パッケージの
ソースコードを解析させて頂いております。
https://www.toppers.jp/download.cgi/atk2-sc1_hsbrh850f1l_ccrh-20150526.tar.gz

下記ファイル
 ・arch\v850_gcc\tauj_hw_counter.c
のヘッダコメント部分を読みますと、OSのカウンタオブジェクトの一つは、
二つのハードウェアタイマを使用して構成されているようです。
一つが現在値タイマで、もう一つが差分タイマです。

 *  使用するタイマ:
 *    差分タイマ:目的の時間を設定する時の現在時間(現在値タイマ)
 *              と次の満了時間との相対時間をカウントすることで
 *              目的の絶対時間に満了したこととする
 *              count mode:count down once
 *
 *    現在値タイマ:カウンタ周期分のベースタイマを実現
 *              (絶対時間をカウント)
 *              count mode:continuous count down
 *
 *    また上記のタイマは32bitのダウンカウンタタイマである
 *
 *  制御方針:
 *
 *   現在値タイマはユーザ定義カウンタ最大値2倍+1までカウントし,
 *   周期タイマとして連続カウントダウンして,常に現在時刻を
 *   取得する.割込み発生する必要がないため,割込みなしモード
 *
 *   差分タイマは,満了処理を行うため,割込みありモードで動く
 *   アラームなどの満了点とタイマー1で示した現在時刻の差を
 *   現在値タイマに設定する
 *
 *  ポイント:
 *   満了処理は,現在時刻を影響しないため,現在値タイマを設けている

これらのハードウェアタイマには、現状TAUJ0のチャネル0及び1が割り当て
られています。

ところが我々のチーム内の要望で、TAUJ0は他の用途で使用したいという
事情がありまして、これをTAUD0に変更することを検討しております。

TAUJ0からTAUD0に変更した場合、マイコンのスタンバイモードでタイマを
動作させることができなくなるため、もし今後スタンバイモードでもOSを
動作させたいという要望が出てきた場合、対応できなくなりますが、
スタンバイモードでOSを動作させる必要が無いなら、TAUD0に入れ替えを
行っても支障は無さそう、という感触を私は持っています。

OSのカウンタオブジェクトに使用するハードウェアタイマをTAUJ0から
TAUD0に変更した場合、スタンバイモードでOSを動作させられなくなる
以外、他にどのような支障が出ることが考えられますでしょうか?
AUTOSARコンフォーマンステストに合致するかも心配です。
この辺りについてもご教示頂けると幸いです。

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