Open KeitaKashima opened 1 year ago
Describe the bug
RL78にてxEventGroupBitsFromISR APIが正常に動作しない。 具体的にはportYIELD_FROM_ISR()が正常動作しないようだ。 正しい手順は「BRK実行→スタック退避→コンテキストスイッチ→スタックロード」ですが、実装ミスによりコンテキストスイッチだけやっているようです。従って元に戻れず動けない。
https://github.com/renesas/FreeRTOS-Kernel/blob/ab7af2eead696a15115cecfe1d085a8c6a994e15/portable/Renesas/RL78G2x/portmacro.h#L106
■誤り(現時点の記述)
■対策(修正) RX600v2 の実装に合わせ、以下に変更することで直る。
Describe the bug
RL78にてxEventGroupBitsFromISR APIが正常に動作しない。 具体的にはportYIELD_FROM_ISR()が正常動作しないようだ。 正しい手順は「BRK実行→スタック退避→コンテキストスイッチ→スタックロード」ですが、実装ミスによりコンテキストスイッチだけやっているようです。従って元に戻れず動けない。
https://github.com/renesas/FreeRTOS-Kernel/blob/ab7af2eead696a15115cecfe1d085a8c6a994e15/portable/Renesas/RL78G2x/portmacro.h#L106
■誤り(現時点の記述)
define portYIELD_FROM_ISR( xHigherPriorityTaskWoken ) if( xHigherPriorityTaskWoken ) vTaskSwitchContext()
■対策(修正) RX600v2 の実装に合わせ、以下に変更することで直る。
define portYIELD_FROM_ISR( x ) if( x != pdFALSE ) portYIELD()