Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem


Loading

Stopping the sceduler using ARM port

Posted by RaceMouse on July 11, 2007
Greetings,

We are using FreeRTOS for a bootloader and we therefore want to stop the scheduler before we junp to the applications start address. When we call vTaskEndScheduler() the scheduler does not stop.
The function vPortEndScheduler () is empty. What do we need to fill in this function in order to stop the scheduler ?

/RaceMouse

RE: Stopping the sceduler using ARM port

Posted by Richard on July 11, 2007
vPortEndScheduler() is only really implemented for the PC port, where you can return to DOS once the scheduler is stopped. In most ports there is nothing as such to return to, hence the lack of implementation. You can look at the PC port to see what it does - but can ignore the bit where it re-installs the original DOS tick handler that was replaced with the FreeRTOS.org timer routine.

In the simplest case you can just stop the tick timer from generating interrupts. Look at prvSetupTimerInterrupt() in port.c to see the timer used to generate the tick. If the tick interrupts do not fire then the same task will continue to execute without interference from FreeRTOS.org provided you don't call any API functions. The timer is the only peripheral that is altered by the kernel itself, so the only thing that requires consideration.

If you are using an ARM port then take care that you are in an appropriate operating mode prior to calling you application. Tasks run in System mode.

Hope this helps.

Regards.

RE: Stopping the sceduler using ARM port

Posted by RaceMouse on July 12, 2007
Hi Richard,

It most certainly did. Thanks for the reply.

Cheers
RaceMouse


[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]


Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Careers

FreeRTOS and other embedded software careers at AWS.


Latest News

FreeRTOS kernel V10.0.1 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner