Structure.html
2017/7/11
OSの設定
ここでは, OSの設定方法について説明します.
設定ファイルは, ArduinOSConfig.hです. このファイル内にOSの設定を書きます.
また, 設定ではハードウェアの基本構成に加え, 各機能の有効化, システムフックを行うか, などといった設定を行えます.
-
設定方法
各設定項目に対して, 一つの設定マクロが割り当てられています.
例えば, ヒープ領域のサイズの設定マクロは, CONFIG_TOTAL_HEAP_SIZEであるなどです.
この設定マクロに値を定義することで設定を行うことができます.
例えば, ヒープ領域のサイズを500byteに設定したいときは, 以下のように記述します.
#define CONFIG_TOTAL_HEAP_SIZE ((size_t) (500))
-
設定項目
設定できる項目は以下のとおりです. ※の項目は必ず設定しなければなりません.
- プリエンプション機能を持たせるか(*)
- アイドルタスク実行時のシステムフックを利用するか(*)
- システム時間更新時のシステムフックを利用するか(*)
- システム時間の上限を16bitにするか(*)
- 最小のスタックサイズ(*)
- ヒープ領域のサイズ(*)
- システム割り込み周期(*)
- タスク削除(Delete)機能を持たせるか(*)
- タスク停止(Suspend)機能を持たせるか(*)
- 指定時間までのタスク待機(DelayUntil)機能を持たせるか(*)
- 指定時間の間タスク待機(Delay)機能を持たせるか(*)
- メモリ確保失敗時のシステムフックを利用するか
- ミューテックスを使用するか
- 優先度の数
- アイドルタスク内でタスク切り替えを行うか
- タスクの名前の最大文字数
- スタックオーバーフローを確認するか
- タスクの状態を取得する(TaskGetState)機能を持たせるか
- スケジューラの状態を取得する(TaskGetSchedulerState)機能を持たせるか
- 現在実行中のタスクハンドルを取得できるようにするか
- 割り込み関数内でのタスク再開(TaskResumeFromISR)機能を持たせるか
ここから, 各設定項目について説明していきます.
-
プリエンプション機能を持たせるか(*)
-
アイドルタスク実行時のシステムフックを利用するか(*)
-
システム時間更新時のシステムフックを利用するか(*)
-
システム時間の上限を16bitにするか(*)
-
最小のスタックサイズ(*)
-
ヒープ領域のサイズ(*)
-
システム割り込み周期(*)
-
タスク削除(Delete)機能を持たせるか(*)
-
タスク停止(Suspend)機能を持たせるか(*)
-
指定時間までのタスク待機(DelayUntil)機能を持たせるか(*)
-
指定時間の間タスク待機(Delay)機能を持たせるか(*)
-
メモリ確保失敗時のシステムフックを利用するか
-
ミューテックスを使用するか
-
優先度の数
-
アイドルタスク内でタスク切り替えを行うか
-
タスクの名前の最大文字数
-
スタックオーバーフローを確認するか
-
タスクの状態を取得する(TaskGetState)機能を持たせるか
-
スケジューラの状態を取得する(TaskGetSchedulerState)機能を持たせるか
-
現在実行中のタスクハンドルを取得できるようにするか
-
割り込み関数内でのタスク再開(TaskResumeFromISR)機能を持たせるか