徒然雑記

MCUとRTOS


RTOS、アプリ系の人はあまり知らないでしょうか?
スレッドを動かすOSと言えばいいのか…。

どちらにせよ、RTOSというか、マルチタスクOSというか*1
その類のOSは制御系には便利な品物なのでありました。
機毎にタスク作って、事象*2待ちしといて、起こされたら、ぐるっと処理を一周して「オヤスミナサイ、CPUさん…zzz」
ですからね。


ただしですね。
スタック領域いっぱい食うんですよ!
なにせ、各タスク毎にスタック領域が別ですし、Cで組めば変数領域もいるし、その他、CPUのレジスタの全てを保存できなければいけませんから。

最近のCPU、レジスタが多いものも多く、それも32ビットとか。
単純計算で、32ビット*3レジスタ8本で32バイト必要ですよ。
あれぇ? 割り込みが入れば、またまた、スタック上にレジスタを保存してですね、と。


という訳で、ROM領域は結構あるのに、RAMはオマケ程度のMCUでは、ちょっと敷居が高いしろもので、外部 RAMは必須ですね。

MCU単体でI/O制御とかするには、OSは使わないという掟があるのです。
せめて、8KB以上のRAMを… OH! もっと RAMを…

*1 RTOSとマルチタスクOSは厳密には別物なのですが、インプリメントとしては一緒になったりしますので
*2 他からの起動とか時間待ちとか…
*3 いわゆる4バイトですね
最終更新のRSS
Last-modified: 2010-03-26 (金) 17:55:50 2948日前
HTML convert time: 0.027 sec.