dis_int
等の処理内でCPUロック状態にしないことができるように変更
dis_int
,ena_int
,clr_int
,ras_int
,prb_int
内で,CPUロック状態にしないことができるように変更.CPU例外の扱いを変更
不正なクラスIDのエラーチェックの方法を変更
target_class.trb
)を新設.-C
オプションで渡すように,コンフィギュレータとsample/Makefile等を変更.kernel.trb
からコンフィギュレータに移動.CRE_XXX
で,他の種類のオブジェクトの識別子との衝突についてもエラーとするように変更
objdump
コマンドによるダンプ形式を受け付けるように拡張
objdump
コマンドによるダンプ形式を読み込めるように拡張.ARM依存部のFPUサポートに,常にFPUを使用する実装を追加
USE_ARM_FPU_ALWAYS
)を追加.USE_ARM_FPU
からUSE_ARM_FPU_SELECTIVE
に変更)の実装を改善.ARMのGIC依存部の仕様変更
不要な割込みハンドラ情報を生成しないように修正
標準のCPU例外ハンドラの初期化コードの修正
define_exc
を呼び出すように修正.[ARM向けターゲット依存部] MPCore内蔵タイマの初期化/終了処理の修正
コンフィギュレータの不具合修正
SRecord.rb
に,不連続なデータ領域のコピーに対応したcopy_data
を追加し,cfg.rb
のBCOPYをそれを用いるように修正.シリアルドライバのマルチコア対応
優先度上昇状態を管理するように変更
mutex_scan_ceilmtx
,mtxhook_scan_ceilmtx
を削除.カーネルが生成する割込みハンドラから呼び出す関数名の変更
kernel_cfg.c
に生成する割込みハンドラから呼び出すカーネル内の関数名に,_kernel_を付けるように変更.POSIX依存部に対応するための変更
OMIT_ISTACK
)を用意.リンカスクリプトでフック呼出しのためのPROVIDEの使用をやめる
arch/arm_gcc/common/start.S
で,hardware_init_hook
とsoftware_init_hook
を無条件に呼び出すように変更し,weak属性付きの空関数を用意.
hardware_init_hook
,software_init_hook
,software_term_hook
を0
に定義するPROVIDE
記述を削除.
target_kernel_impl.c
で,software_term_hook
の呼出し処理を,weak
属性付きの空関数を使う形に変更.
ミューテックスの実装を拡張が容易なように変更
mutex_raise_priority
を導入.また,mutex_drop_priority
のインタフェースを変更し,インライン関数に.
remove_mutex
を導入.コンフィギュレータの実装改善
pass1.rb
を,rubyの新しいバージョンでエラーにならないように修正.PCB中のtarget_pcb
の宣言位置を先頭に移動
[ARM向けターゲット依存部] ARMコアサポートモジュールを見直し
arm.c
の内容をarm.h
に移し,arm.c
を廃止.[ARM向けターゲット依存部] 初期化手順を見直し
hardware_init_hook
で実施することとし,mpcore_initialize
では実施しないことに.[ARM向けターゲット依存部] メモリの設定をアプリケーション依存で変更し やすいように変更.
arm_memory_area
とarm_tnum_memory_area
にweak属性を追加.その他の実装改善
configure.rb
)とユーティリティプログラムを,FileUtilsライブラリをなるべく使わないように変更.gentest.rb
)の出力形式の改善.configure
とsample/Makefileの機能改善
configure.rb
)でコンパイルオプションを外せるように,sample/Makefileを拡張.sample/Makefileの変更
%.cpp
に対するvpath指定を追加.テストプログラムの改善- 変更
get_tst()
が終了せずに固まってしまう問題を修正.ドキュメントの改善
バージョン番号の更新
リネームする関数名の追加
unlock_cpu
とsense_lock
を,リネーム記述(target_rename.def
またはそこからインクルードされるファイル)に追加する(ARM依存部を使っている場合には,core_rename.def
に追加しているので,対応の必要がない).
フック呼出し処理の変更
hardware_init_hook
とsoftware_init_hook
の呼出し処理を,weak属性付きの空関数を使う形に変更する.
hardware_init_hook
,software_init_hook
,software_term_hook
を0
に定義するPROVIDE記述を削除する.
software_term_hook
の呼出し処理を,weak属性付きの空関数を使う形に変更する.クラス定義ファイルを新設
target_class.trb
を新設し,$clsData
の定義をtarget_kernel.trb
から移動する.[ARM依存部] 常にFPUを使用する実装に対応
ASM_ARM_FPU_TYPE
の定義を追加する.USE_ARM_FPU
を定義している場合は,USE_ARM_FPU_SELECTIVE
に変更する.-mcu
オプションを設定する.[ARM依存部] 初期化手順の見直しに対応
hardware_init_hook
に,キャッシュとMMUをディスエーブルする処理を追加する.arm_enable_cache
,arm_disable_cache
を使用している場合,データキャッシュと命令キャッシュの操作関数を個別に呼ぶように変更する.
CPU例外の扱いを変更に対応
CPUEXC1
が定義されていれば,別の名前に変更する(ARM依存部では_CPUEXC1
としている).