From f602be2a9059006973b194ea2e6c3a57460be3c6 Mon Sep 17 00:00:00 2001 From: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com> Date: Wed, 27 May 2020 14:08:44 -0700 Subject: [PATCH] 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> --- portable/ThirdParty/GCC/ATmega/port.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/portable/ThirdParty/GCC/ATmega/port.c b/portable/ThirdParty/GCC/ATmega/port.c index 270319ce8..e0bafd586 100644 --- a/portable/ThirdParty/GCC/ATmega/port.c +++ b/portable/ThirdParty/GCC/ATmega/port.c @@ -619,16 +619,7 @@ BaseType_t xPortStartScheduler( void ) 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. */ } /*-----------------------------------------------------------*/