17.4.2 基本情報

基本情報では,

1 ) CPU種別chip_type

2 ) 基本クロック周期tim_base

3 ) 基本クロック用タイマ割り込みの例外コードtim_intno

4 ) システム・スタックのサイズsys_stksz

5 ) スタック・チェックの有無stkchk

6 ) 最大タスク優先度maxtpri

7 ) 最大割り込み優先度maxintpri

8 ) 最大割り込みハンドラ数maxint,最大例外コードmaxintno

といった項目を定義します。

なお,基本情報として定義可能な数は,1個に限られます。

以下に,基本情報の記述形式を示します。

 
 [ CPU_TYPE ( chip_type ); ]
 [ DEF_TIM ( tim_base ); ]
 CLK_INTNO ( tim_intno );
 SYS_STK ( sys_stksz );
 [ STK_CHK ( stkchk ); ]
 [ MAX_PRI ( maxtpri ); ]
 [ MAX_INTPRI ( maxintpri ); ]
 MAX_INT ( maxint [, maxintno ] );


以下に,基本情報で記述する項目について示します。

1 ) CPU種別chip_type

ターゲット・デバイスのCPU種別を指定します。
CS+を使用している場合,本指定項目を指定する必要はありません。


なお,chip_typeとして指定可能な値は“G3K,G3M,G3KH,G3MH”のいずれかに限られます。

G3K: G3Kコア

G3M: G3Mコア

G3KH: G3KHコア

G3MH: G3MHコア

省略時 -cpuオプションで指定されたデバイス品種のCPU種別となります。-peidオプションでPE番号が指定された場合は,PE番号に対応したCPU種別となります。なお,-cpuオプションの指定も省略していた場合は,CPU種別は“G3K” となります。

2 ) 基本クロック周期tim_base

RI850V4の基本クロック周期(単位:ミリ秒)を指定します。
なお,tim_baseとして指定可能な値は“0x1〜0xffff”に限られます。


省略時 RI850V4の基本クロック周期は“0x1ミリ秒”となります。

備考 基本クロック周期とは,RI850V4が提供する時間管理機能を実現するうえで必要となる基本クロック用タイマ割り込みtim_intnoの発生周期を意味しています。したがって,RI850V4が時間管理用に利用するハードウエア(OSタイマ)を初期化する際には,tim_baseで定義された周期で基本クロック用タイマ割り込みが発生するような設定を行う必要があります。

3 ) 基本クロック用タイマ割り込みの例外コードtim_intno

RI850V4が提供する時間管理機能を実現するうえで必要となる基本クロック用タイマ割り込みの例外コードを指定します。
なお,tim_intoとして指定可能な値は,デバイス・ファイルで規定されている割り込み要因名,または0x1000〜最大例外コードmaxintnoに限られます。


備考 tim_intnoに“割り込み要因名”を指定した場合,CF850V4の起動オプションとして-cpu△nameの指定が必須となります。

4 ) システム・スタックのサイズsys_stksz

システム・スタックのサイズ(単位:バイト)を指定します。
なお,sys_stkszとして指定可能な値は“0x0〜0x7ffffffcの4バイト境界値”に限られます。


備考1 システム・スタックのサイズを算出する際の計算式については,「1) システム・スタック」を参照してください。

備考2 システム・スタック用メモリ領域は“.kernel_workセクション”から確保されます。

備考3 実際に確保されるスタック・サイズは,指定したスタック・サイズに“20 + 80(割り込みハンドラのコンテキスト領域のサイズ)”が加算されたサイズです。

5 ) スタック・チェックの有無stkchk

処理プログラムからサービス・コールが発行された際,および割り込みハンドラに制御を移す際,スタックのオーバフロー・チェックを行うか否かを指定します。
なお,stkchkとして指定可能な値は“TA_ON,TA_OFFのいずれか”に限られます。


TA_ON: オーバフロー・チェックを行う

TA_OFF: オーバフロー・チェックを行わない

省略時 “オーバフロー・チェックを行わない”となります。

6 ) 最大タスク優先度maxtpri

タスクの優先度範囲(最大タスク優先度:タスク情報で定義する優先度の最大値,または処理プログラムでchg_priなどのサービス・コールを発行する際に指定する優先度の最大値)を指定します。
なお,maxtpriとして指定可能な値は“0x1〜0x20”に限られます。


省略時 最大タスク優先度は“0x20”となります。

7 ) 最大割り込み優先度maxintpri

RI850V4に管理させるEIレベル・マスカブル割り込みの最高優先度を指定します。
なお,maxintpriとして指定可能な値は以下のようになります。


ターゲット・デバイスのCPU種別がG3Kの場合: “INTPRI0〜INTPRI7”に限られます。

ターゲット・デバイスのCPU種別がG3M,G3KH,G3MHの場合: “INTPRI0〜INTPRI15”に限られます。

備考1 INTPRI3を指定した場合には,RI850V4の管理対象はINTPRI3〜最低割り込み優先度となります。最低割り込み優先度は以下のようになります。

ターゲット・デバイスのCPU種別がG3Kの場合: IINTPRI7が最低割り込み優先度となります。

ターゲット・デバイスのCPU種別がG3M,G3KH,G3MHの場合: INTPRI15が最低割り込み優先度となります。

備考2 EIレベル・マスカブル割り込みに対応した割り込みハンドラの呼び出しを縮小モード(リセット・ベクタ・ベース・アドレスRBASE,または例外ハンドラ・ベクタ・アドレスEBASEのRINTビットに“1”を設定)で行う場合,“INTPRI0”を設定する必要があります。

省略時 最大割り込み優先度は“INTPRI0”となります。

8 ) 最大割り込みハンドラ数maxint,最大例外コードmaxintno

割り込みハンドラの最大登録数,および対象CPUが有するEIレベル・マスカブル割り込みに対応した例外コードの最大値を指定します。
なお,maxintとして指定可能な値は“0x0〜0x200”に,maxintnoとして指定可能な値は“0x1000〜0x11ff”に限られます。


備考1 maxintとして指定する値は,“割り込みハンドラ情報として定義した割り込みハンドラの総数”となります。

備考2 CF850V4の起動オプションとして-cpu△nameの指定を行った場合,maxintnoの指定は無効となり,デバイス・ファイルで規定されている最大例外コードが有効となります