FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [July 2007 Threads] Stopping the sceduler using ARM portPosted 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 portPosted 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 portPosted by RaceMouse on July 12, 2007 Hi Richard,
It most certainly did. Thanks for the reply.
Cheers RaceMouse
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|