読者です 読者をやめる 読者になる 読者になる

不確定特異点

広く深く、ところどころ超深く

軽量 RTOS の開発 (8)

OS ARM C

前回アラームの実装が完了した段階で、OSEK の主要な機能はおおむね実装できたので、次はフットプリントの最適化を進めます。

タスクのエントリポイント、優先度、スタック領域等、静的に確保するデータは const にすることで Read Only リージョンに割り当てられますので、その分 RAM 領域を減らせます。他にもリソース優先度やアラーム種別や活性化時の動作等も const にできるものは ROM 化しました。

あとは、コンフィギュレーション情報にしたがって、const 化したこれらの ROM 値を構造体リテラルとして生成するコンフィギュレータがあれば、一気に RTOS っぽくなるはず、というわけで、コンフィギュレータを作ります。コンフィギュレーションのファイルフォーマットは YAML にしようかと思ってましたが、自由度が高すぎて色々面倒なので、あきらめて JSON にします。