(toppers-users 3431) Re: タスクスタックの状況を確認するためのシステムコール実現の御提案

Meika Sugimoto asuka.choronos @ gmail.com
2011年 4月 19日 (火) 10:33:09 JST


杉本です.

> 藤倉さん

>  静的なツールは、割込やコンテキストスイッチが起きた時にOSがレジスタ類を
> 退避するサイズを考慮していない場合があるので注意が必要かと思います。

おっしゃるとおりです.この部分はユーザ文書に書いておらず,
ソースコードを読むしかありません(prc_support.Sの中にコメントがある
場合が多いです).

> 邑中さん

>>> ただ残念なことに、GNUコンパイラではそういったツールがないと
>>> 認識しています。
>>
>> ありますよ.
>> ご参考: http://0xcc.net/blog/archives/000115.html
>> ただし,アーキテクチャが限られます.簡単なスクリプトですので,
>> 対象ターゲットのアセンブラ構文が判っていれば拡張は用意でしょう.

ご指摘いただいて思い出しました.
アーキテクチャもそうですが,スタック確保のコードが
いくつかパターンがあるのがやっかいではありますが.

>> フェイルセーフとして,スタックが危険領域に入ったらタスクを止めたい
>> という要求は,私も顧客からもらったことがあります.

AUTOSARではこの仕組みがありますね.
#完全な保護をするならMPU(orMMU)が必要ですが

以上,よろしくお願いします.

(2011/04/19 10:17), T.Fujikura wrote:
> 藤倉です
>  静的なツールは、割込やコンテキストスイッチが起きた時にOSがレジスタ類を
> 退避するサイズを考慮していない場合があるので注意が必要かと思います。
> 
> (2011/04/19 9:50), 邑中雅樹 wrote:
>> こんにちは.
>>
>> 2011年4月18日11:48 Meika Sugimoto<asuka.choronos @ gmail.com>:
>>> 結論から申しますと、スタックの見積もりは
>>> 設計時に、静的に行う必要があります。
>>> また、その見積もりはツールを使うべきでしょう。
>>
>> 静的OSとしての { μITRON | TOPPERS } として,基本線はそこだと
>> おもいますが,OSの上に動的環境がある場合には,そうも言えない
>> かもしれませんね.RLL のように動的なローディングがあるとか,
>> スクリプト言語の実行環境だったりとか.
>>
>> フェイルセーフとして,スタックが危険領域に入ったらタスクを止めたい
>> という要求は,私も顧客からもらったことがあります.
>>
>>
>>> ただ残念なことに、GNUコンパイラではそういったツールがないと
>>> 認識しています。
>>
>> ありますよ.
>> ご参考: http://0xcc.net/blog/archives/000115.html
>> ただし,アーキテクチャが限られます.簡単なスクリプトですので,
>> 対象ターゲットのアセンブラ構文が判っていれば拡張は用意でしょう.
>>
>>
> 
>