μ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) {
}