---
parent: Structure
title: OSの設定
date: 2018-10-20
tags: 編集中
---

ここでは, OSの設定方法について説明します.
        
設定ファイルは,`ArduinOSConfig.h`です. このファイル内にOSの設定を書きます.
また, 設定ではハードウェアの基本構成に加え, 各機能の有効化, システムフックを行うか, などといった設定を行えます.

===

# 設定方法
________________________________________________
    各設定項目に対して, 一つの設定マクロが割り当てられています.
    例えば, ヒープ領域のサイズの設定マクロは, `CONFIG_TOTAL_HEAP_SIZE`であるなどです.
    この設定マクロに値を定義することで設定を行うことができます.
    例えば, ヒープ領域のサイズを500byteに設定したいときは, 以下のように記述します.

    ```cpp
    
        #define CONFIG_TOTAL_HEAP_SIZE ((size_t) (500))

    ```
    
# 設定項目
_______________________________________________
    設定できる項目は以下のとおりです. 
    設定できるマクロ名を挙げ, その設定内容を説明します.
    

    * プリエンプション機能を持たせるか(*)
    * アイドルタスク実行時のシステムフックを利用するか(*)
    * システム時間更新時のシステムフックを利用するか(*)
    * システム時間の上限を16bitにするか(*)
    * 最小のスタックサイズ(*)
    * ヒープ領域のサイズ(*)
    * システム割り込み周期(*)
    * タスク削除(Delete)機能を持たせるか(*)
    * タスク停止(Suspend)機能を持たせるか(*)
    * 指定時間までのタスク待機(DelayUntil)機能を持たせるか(*)
    * 指定時間の間タスク待機(Delay)機能を持たせるか(*)
    * メモリ確保失敗時のシステムフックを利用するか
    * ミューテックスを使用するか
    * 優先度の数
    * アイドルタスク内でタスク切り替えを行うか
    * タスクの名前の最大文字数
    * スタックオーバーフローを確認するか
    * タスクの状態を取得する(TaskGetState)機能を持たせるか
    * スケジューラの状態を取得する(TaskGetSchedulerState)機能を持たせるか
    * 現在実行中のタスクハンドルを取得できるようにするか
    * 割り込み関数内でのタスク再開(TaskResumeFromISR)機能を持たせるか