Hard Faultになってしまう。

弊社RTOS「μC3/Compact」、「μC3/Standard」に関するご質問
返信する
アバター
eForce技術担当
記事: 179
登録日時: 2014年4月24日(木) 14:18

Hard Faultになってしまう。

投稿記事 by eForce技術担当 » 2014年4月24日(木) 14:36

対象:
μC3/Compact、μC3/Standard

質問:
Hard Faultになってしまいます。

回答:
HardFaultになってしまう場合、以下のケースが考えられます。
1)スタックサイズがオーバーフローしている
2)管理外割り込みから、OSのAPIを使用した

回避方法
<μC3/Compactの場合>
1)の場合、コンフィグレーターを使用し、該当タスクのスタックサイズを現在の指定値より、大きなサイズを指定してください。
2)の場合、管理外割り込みから使用できるAPIはvloc_cpu()、vulc_cpu()のみです。それ以外のAPIは使用できませんので、グローバル変数を使用するなどの、方法を選択してください。

<μC3/Standardの場合>
1)の場合、タスク定義のコンフィグレーション記述部のスタックサイズを現在の指定値より、大きなサイズを指定してください。
2)の場合、管理外割り込みから使用できるAPIはvloc_cpu()、vulc_cpu()のみです。それ以外のAPIは使用できませんので、グローバル変数を使用するなどの、方法を選択してください。

コード: 全て選択

/* サンプルコード例 */
void hoge(void) {
    
}

返信する