=====================================================================
                         V850プロセッサ依存部
                                  Last Modified: '11/05/20
=====================================================================

○概要

V850依存部はルネサスエレクトロニクス社製V850をターゲットとしている
V850にはいくつかのバリエーションが存在し，バリエーションによって割込みコントローラ
の仕様が異なる．そのため，バリエーション毎に異なる部分はバリエーション毎の
ファイルに分けることにより対応する．

○コンパイラ

カーネルはGCCを用いていコンパイルする．動作確認した
バージョンは各ターゲット依存部のドキュメントに記載する．

○カーネルの使用リソース

カーネルは以下のリソースを使用する．

  ・タイマ
    ターゲットのタイマを1つ使用する．使用するタイマはターゲット毎に異なる．
  ・シリアル
    ターゲットのシリアルポートを1ポート使用する．使用するポートはターゲット毎に異なる．

○割り込みハンドラ番号と割込み番号

割込みハンドラ番号(inhno)と割込み番号(intno)は，例外コードを右に
4ビットシフトした値を用いる．

○カーネル管理内/外の割込み

ある割込み優先度以上の割込み優先度をカーネル管理外の割込みとして用いる
ことが可能である．カーネル管理内の割込みの最小値は TMIN_INTPRI で設定
されている．TMIN_INTPRI はデフォルトでは，-7となっており，ターゲッ
ト依存部で上書きが可能である．


○CFG_INTに指定可能な割込み優先度

CFG_INTに指定可能な割込み優先度としては，0からTMIN_INTPRI までの値
を設定可能である．

TMIN_INTPRIの定義場所：
・C言語用の定義：
　　デフォルトの定義：prc_kernel.h
　　ターゲット依存の定義：target_config.h（現状では未定義）

○割込み属性

外部割込み要求に関しては，TA_POSEDGE/TA_NEGEDGE/TA_BOTHEDGEを設定可能である．


=====================================================================
               ターゲット依存部開発者向けの情報
=====================================================================

○サポートプロセッサの追加

サポートするプロセッサを追加する場合には，サポートするプロセッサの型番
（v850xxx）でテンプレートファイル(v850xxx.tf)，ハードウェア資源及び
ターゲットプロセッサ毎のターゲット依存部設定ファイル(v850xxx.h)，を
作成する必要がある．その他のファイルが必要な場合は，プロセッサの型番を
先頭に付けてファイルを作成し，ターゲット依存部で使用してもよいよい．

○ターゲットプロセッサ毎の定義内容

・ハードウェア資源及びターゲットプロセッサ毎のターゲット依存部設定ファイル(v850xxx.h)

MCU依存定義ファイルには，以下のマクロや関数を定義する．
（下記以外の情報を定義してもよい．）

・INTREG_ADDRESS(intno)
  割込み制御レジスタのアドレス算出マクロ．
  intnoから

・INT_POLREG_TABLE
  外部割込み属性設定定義マクロ．
  INTFxレジスタ，INTRxレジスタのアドレス，ビット位置で構成された
  構造体テーブルの内容を定義する．テーブル添数は割込み番号である．

・カーネルスタックの先頭アドレス(v850xxx.h)

DEF_ICSで非タスクコンテキスト用のスタック領域が定義されない時の
スタック先頭アドレス．

○CFG用テンプレートファイル

CFG用のテンプレートファイルには以下の変数をを定義する．ターゲット依存
部のCFG用テンプレートファイルでは，prc.tf をインクルードする前に，使用
するターゲットプロセッサのCFG用テンプレートファイルをインクルードする
こと．

・有効な割込み番号，割込みハンドラ番号，CPU例外ハンドラ番号

$INTNO_VALID
$INHNO_VALID
$EXCNO_VALID

・割込み番号数，割込みハンドラ番号数，CPU例外ハンドラ番号数
  0からカウントし，スパースな場合はその間もカウントする

$INTNO_RANGE 
$INHNO_RANGE 
$EXCNO_RANGE 

○変更履歴
2010/07/18  ・新規作成                          杉本明加
2011/05/20  ・ターゲット非依存部1.7.0に対応     杉本明加
