Cortex-M3 - RVDS ver 2.02.20

返信する
アバター
eForce技術担当
記事: 193
登録日時: 2014年4月24日(木) 14:18

Cortex-M3 - RVDS ver 2.02.20

投稿記事 by eForce技術担当 » 2015年2月20日(金) 16:05

================================================================================

μC3/Compact Kernel for Cortex-M3 RVDS版

Copyright (c) 2009-2013, eForce Co., Ltd.

================================================================================

 本ファイルは、カーネルのバージョンアップ履歴を記載、およびユーザーズガイドを補
足する必要があれば、その説明を記載しています。


バージョンアップの履歴
==========================
--------------------------------------------------------------------------------
2013/04/04 ver 2.02.20
ARM RealView Development Suite v4.1
--------------------------------------------------------------------------------
・ver 1.40をベースに以下の機能追加をしています。

(新機能・変更点)
・カーネルの管理外の割込みに対応しました。
この機能追加により、システムスタックが割込み処理用と周期ハンドラ(アイドル時を
含む)用の2本に分離されました。
・ディスパッチトレース機能に対応したコードを追加しました。ただし、開発環境が対応
していなければ使用することはできません。
この追加機能を使用しないカーネルライブラリの仕様や振る舞いに変更はありません。


--------------------------------------------------------------------------------
2012/07/27 ver 1.40
アーム社 RealView Development Suite v4.1に対応
--------------------------------------------------------------------------------
(不具合修正)
・実行可能状態のタスクに対して、実行状態のタスクよりも高優先度となるようなchg_pri
を呼び出す場合、次にタスク切り替えを伴うシステムコールを呼び出すまでは、タスク
優先度が変化しない不具合があり、修正しました。
タスク優先度がマイナス値となるchg_priを呼び出した場合、E_PARエラーを検出できず、
キューイングに失敗し暴走する不具合があり、修正しました。

・位相保存のTA_PHS属性を持たない周期ハンドラ内でその周期ハンドラの動作を停止する
stp_cycを呼び出すまでの区間に、以下の条件を満たすシステムコールを呼び出している
場合、周期ハンドラ終了後に暴走する不具合があり、修正しました。

実行中の周期ハンドラを除いた周期ハンドラが実行される時刻、時間監視付きシステム
コール(txxx_yyy)がタイムアウトする時刻、タスクの遅延(dly_tsk)がタイムアウト
する時刻、のいずれか一番早い時刻のオブジェクトの時間待ちを解除した場合です。
時間待ちと解除のシステムコールの組み合わせは、次の組み合わせがあります。

A)周期ハンドラの場合は、stp_cycによる動作の停止
(位相保存のTA_PHS属性を持たない周期ハンドラのみ該当)
B)dly_tskの場合は、rel_waiによる強制待ち解除
C)tslp_tskの場合は、wup_tskのタスクの起床による待ち解除か、rel_waiによる強制
待ち解除
D)twai_semの場合は、sig_semのセマフォ資源の返却による待ち解除か、rel_waiによ
る強制待ち解除
E)twai_flgの場合は、set_flgのイベントフラグのセットによる待ち解除か、rel_wai
による強制待ち解除
F)tsnd_dtqの場合は、prcv_dtqのデータキューからの受信による待ち解除か、rel_wai
による強制待ち解除
G)trcv_dtqの場合は、psnd_dtq, fsnd_dtqのデータキューへの送信による待ち解除か、
rel_waiによる強制待ち解除
H)trcv_mbxの場合は、snd_mbxのメールボックスへの送信による待ち解除か、rel_wai
による強制待ち解除
I)tget_mpfの場合は、rel_mpfの固定長メモリブロックの返却による待ち解除か、
rel_waiによる強制待ち解除

・制約タスクではないタスクが共有スタックを使用し、スタック解放待ち状態に遷移する
場合、遷移した直後のタスクスケジューリングで、そのタスクと同一優先度のレディ状
態のタスクが存在しても無視されて優先度の低いタスクが実行状態に遷移する不具合が
あり、修正しました。

・周期ハンドラからタスクの状態参照 ref_tskを呼び出し、当該タスクが時間待ち状態か
らタイムアウトする時刻と一致していた場合、タスクの状態としてタイムアウトするま
での時間を0ではなく-1チック時間を返す不具合があり、修正しました。

・チック時間で割り切れない起動周期を持つ周期ハンドラの状態参照 ref_cycを呼び出し
た場合、周期ハンドラを次に起動する時刻までの時間lefttimが1チック時間だけ短くな
る不具合があり、修正しました。


--------------------------------------------------------------------------------
2011/08 ver 1.30
アーム社 RealView Development Suite v4.0に対応
--------------------------------------------------------------------------------
(不具合修正)
・システム時刻の下位ワードから上位ワードへの桁上がり(約49.71日周期)を跨がった
待ちが発生した場合、タイムアウト判定処理に不具合があり、修正しました。
この不具合により、以下の現象が発生します。

A)タスクより時間待ちを伴うシステムコールを呼び出した場合、指定時間の経過を待
たずにタイムアウトで戻ります。

B)周期ハンドラが起動状態、或いは位相保存属性を指定した場合、永久ループに陥り
タスクが実行されない状態になります。

C)システム時刻の上位ワードへの桁上がり後に、周期ハンドラを起動状態にできなく
なります。

この修正により、txxx_yyyシステムコールのタイムアウト指定には、TMO_FEVR(-1)以外
のマイナス値を指定できなくなり、E_PARエラーを返します。また、dly_tskの遅延時間
は上限値 2,147,483,647とし、超える値にはE_PARエラーを返します。
周期ハンドラの起動位相と起動周期の上限値も同様に 2,147,483,647と制限します。

・タイムチックの供給isig_timは、内部にカウンタが存在し、キューイングできるように
なっています。このキューイングの最大値を255として、これを超える場合には E_QOVR
エラーを返すようにしました。


--------------------------------------------------------------------------------
2011/06 ver 1.20
アーム社 RealView Development Suite v4.0に対応
--------------------------------------------------------------------------------
(不具合修正)
・起動要求をキューイングした状態のタスクに対してter_tskシステムコールを発行した
 場合、システムコールから戻らず暴走するカーネルの不具合があり、修正しました。
 (起動要求をキューイングした状態とは、休止状態DORMANTでないタスクに対して
 act_tskを発行し、起動要求が貯まった状態を言います。)


--------------------------------------------------------------------------------
2011/01 ver 1.12
アーム社 RealView Development Suite v4.0に対応
--------------------------------------------------------------------------------
(不具合修正)
・アンアラインド・アクセスを行っている箇所がありこれを修正しました。


--------------------------------------------------------------------------------
2010/11 ver 1.11
アーム社 RealView Development Suite v4.0に対応
--------------------------------------------------------------------------------
・Cortex-M3のレジスタ定義に誤りがあり修正しました。
・EWARM版カーネルのアップデートに伴いアップデートしました。機能に変更はなく、
 幾つかヘッダーファイルを更新しました。


--------------------------------------------------------------------------------
2009/11 ver 1.10
アーム社 RealView Development Suite v4.0に対応
--------------------------------------------------------------------------------
・ファーストリリース

返信する