Removing vPortEndScheduler() implementation, since it's not implemented according to spec. (#61)
Refer to https://www.freertos.org/a00133.html.
The issue with the implementation is that, if only stop kernel tick the program will keep executing current task.
The desired behavior is to at least return/jump to the next instruction after vTaskStartScheduler().
Signed-off-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
diff --git a/portable/ThirdParty/GCC/ATmega/port.c b/portable/ThirdParty/GCC/ATmega/port.c
index 270319c..e0bafd5 100644
--- a/portable/ThirdParty/GCC/ATmega/port.c
+++ b/portable/ThirdParty/GCC/ATmega/port.c
@@ -619,16 +619,7 @@
void vPortEndScheduler( void )
{
- /* It is unlikely that the AVR port will get stopped. If required simply
- disable the tick interrupt here. */
-
-#if defined (portUSE_WDTO)
- wdt_disable(); /* disable Watchdog Timer */
-
-#elif defined( portUSE_TIMER0 )
- portTIMSK &= ~( _BV(OCIE0B)|_BV(OCIE0A)|_BV(TOIE0) ); /* disable all Timer0 interrupts */
-
-#endif
+ /* It is unlikely that the ATmega port will get stopped. */
}
/*-----------------------------------------------------------*/